java程序设计实验报告模板

时间:2024.4.13

系统架构

界面设计

主界面:

1、建立一个容器,标题定为“学生成绩管理系统”,设置大小。

2、定义一个菜单(成绩单管理),在菜单中添加按钮(添加成绩)。

3、设置容器的的背景色。

4、在容器中添加字(学生成绩管理模块),设置字体为宋体,大小为45,设置倾斜度和颜色。

增加成绩单界面:

1、建立容器,使用复杂布局,添加四个JPanel(jp1,jp2,jp3,jp4)。

2、四个Jpanel都使用流式布局,且jp1,jp2,jp3向左靠齐,jp4居中。

3、在jp1中依次添加标签(学生姓名)、文本框、标签(学生班级)、文本框。

4、在jp2中依次添加标签(考试科目)、文本框、标签(考试成绩)、文本框、标签(考试时间)、文本框。

5、在jp3中添加标签(备注)、文本框。

6、在jp4中依次添加按钮保存、清空、返回。

7、监听三个按钮。当鼠标按下保存时,判断除了备注以外的文本框是否都有信息,若有则将数据读取到数据库中。若没有,则弹出提示框,提示用户某文本框信息不能为空(利用JOptionPane.showMessageDialog)。

8、若成功将数据读入数据库则跳出提示框“成绩单添加成功”,否则弹出“添加成绩单失败”(利用JOptionPane.showMessageDialog)。

数据库说明

数据库名为test

表名为student

第一列:id自增列

第二列:姓名(name),varchar类型,长度为20,不能为空。

第三列:班级(class),varchar类型,长度为5,不能为空。

第四列:科目(subject),varchar类型,长度为10,不能为空。

第五列:成绩(score),int类型,不能为空。

第六列:考试时间(time),varchar类型,长度为10,不能为空。

第七列:备注(remark),varchar类型,长度为50.

(代码请看最后一页)

程序设计说明

类说明:

一、     FirstStudent

主界面

二、     SecondStudent

学生信息输入界面

变量说明:

一、     FirstStudent

private JPanel panel:容器

public JMenuItem ji:增加成绩单按钮

JMenuBar jb:菜单栏

JMenu jm:成绩单管理菜单

SecondStudent in :实例化添加成绩单页面的类

FirstStudent inst:实例化主界面的类

二、     SecondStudent

     JPanel jp1:添加学生姓名,学生班级的容器

       JPanel jp2:添加考试科目、成绩、时间的容器

       JPanel jp3:添加备注的容器

       JPanel jp4:添加保存、清空、返回按钮的容器

       JTextField jt1:学生姓名所对应的文本框

       JTextField jt2:学生班级所对应的文本框

       JTextField jt3:考试科目所对应的文本框

       JTextField jt4:考试成绩所对应的文本框

       JTextField jt5:考试时间所对应的文本框

       JTextField jt6:备注所对应的文本框

       JLabel jl1;学生姓名标签

       JLabel jl2:学生班级标签

       JLabel jl3:考试科目标签

       JLabel jl4:考试成绩标签

       JLabel jl5:考试时间标签

       JLabel jl6:备注标签

       JButton jb1:保存按钮

       JButton jb2:清空按钮

       JButton jb3:返回按钮

       String s1:获得学生姓名文本框中的内容

       String s2:获得学生班级框中的内容

       String s3:获得考试科目的内容

       String s4:获得考试成绩的内容

       String s5:获得考试时间的内容

       String s6:获得备注框中的内容

       int a:将考试成绩转为整形赋给a

       String sql:数据库语言

       int n:是否链接数据库的判断返回值

       FirstStudent inst :实例化主界面类

       SecondStudent i:实例化添加成绩单界面类

流程说明:

1、主界面:

2、增加成绩单界面:

3、添加成功后弹出提示框:

4、某一项未添加则弹出提示框:

主界面代码:

package gui;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;

public class FirstStudent extends JFrame {

       private JPanel panel;

       public JMenuItem ji=new JMenuItem("增加成绩单");

       public FirstStudent() {

              super();

              this.setSize(400, 300);

              this.setTitle("学生成绩管理系统");

              JMenuBar jb=new JMenuBar();

              this.setJMenuBar(jb);

              JMenu jm=new JMenu("成绩单管理");

              jb.add(jm);

              jm.add(ji);

              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

              panel = new JPanel() {

                     private static final long serialVersionUID = 2934347922805759551L;

                     public void paint(Graphics g) {

                            this.paintComponent(g);

                            Graphics2D g2 = (Graphics2D) g;

                            g2.setFont(new Font("宋体", Font.BOLD, 45));

                            g2.setColor(new Color(65, 100, 0));

                            g2.shear(0.1, -0.4);

                            g2.drawString("学生成绩管理模块", 0, 200);

                     }

              };

              panel.setBackground(Color.RED);

              getContentPane().add(panel, BorderLayout.CENTER);

             

              ji.addActionListener(new ActionListener(){

              @Override

              public void actionPerformed(ActionEvent e) {

                     SecondStudent in = new SecondStudent();

                     in.setLocationRelativeTo(null);

                     in.setVisible(true);

                    

              }});

       }

       public static void main(String[] args) {

              SwingUtilities.invokeLater(new Runnable() {

                     public void run() {

                            FirstStudent inst = new FirstStudent();

                            inst.setLocationRelativeTo(null);

                            inst.setVisible(true);

                     }

              });

       }

}

添加成绩单界面代码:

public class SecondStudent extends JFrame {

       JPanel jp1=new JPanel();

       JPanel jp2=new JPanel();

       JPanel jp3=new JPanel();

       JPanel jp4=new JPanel();

       JTextField jt1=new JTextField(10);

       JTextField jt2=new JTextField(10);

       JTextField jt3=new JTextField(10);

       JTextField jt4=new JTextField(10);

       JTextField jt5=new JTextField(10);

       JTextField jt6=new JTextField(20);

       JLabel jl1=new JLabel("学生姓名");

       JLabel jl2=new JLabel("学生班级");

       JLabel jl3=new JLabel("考试科目");

       JLabel jl4=new JLabel("考试成绩");

       JLabel jl5=new JLabel("考试时间");

       JLabel jl6=new JLabel("备注");

       JButton jb1=new JButton("保存");

       JButton jb2=new JButton("清空");

       JButton jb3=new JButton("返回");

       public static Connection conn=null;

       public static PreparedStatement ps=null;

       public SecondStudent(){

              setSize(400, 300);

              setTitle("增加成绩单");   

              setResizable(false);

              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

              layoujp1();

              layoujp2();

              layoujp3();

              layoujp4();

              setLayout(new GridLayout(4,1));

              add(jp1);

              add(jp2);

              add(jp3);

              add(jp4);

              jb1.addActionListener(new ActionListener(){

                     @Override

                     public void actionPerformed(ActionEvent e) {

                            String s1=jt1.getText();

                            String s2=jt2.getText();

                            String s3=jt3.getText();

                            String s4=jt4.getText();

                            String s5=jt5.getText();

                            String s6=jt6.getText();

                            if(s1.equals("")){

                                   JOptionPane.showMessageDialog(null, "姓名不能为空!");

                                   return;

                            }

                            else if(s2.equals("")){

                                   JOptionPane.showMessageDialog(null, "班级不能为空!");

                                   return;

                            }

                            else if(s3.equals("")){

                                   JOptionPane.showMessageDialog(null, "科目不能为空!");

                                   return;

                            }

                            else if(s4.equals("")){

                                   JOptionPane.showMessageDialog(null, "成绩不能为空!");

                                   return;

                            }

                            else if(s5.equals("")){

                                   JOptionPane.showMessageDialog(null, "考试时间不能为空!");

                                   return;

                            }

                            int a=Integer.parseInt(s4);

                            try {                                   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");                            conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1434;DatabaseName=test","sa","123456");

                                   String sql="insert into student (name,class,subject,score,time,remark) values(?,?,?,?,?,?);";

                                   ps=conn.prepareStatement(sql);

                                   ps.setString(1, s1);

                                   ps.setString(2, s2);

                                   ps.setString(3, s3);

                                   ps.setInt(4, a);

                                   ps.setString(5, s5);

                                   ps.setString(6, s6);

                                   int n=ps.executeUpdate();                    

                                   System.out.println("添加行数"+n);

                                   if(n>=0){

                                          JOptionPane.showMessageDialog(null, "成绩单添加成功!");

                                   }

                                   else{

                                          JOptionPane.showMessageDialog(null, "成绩单添加失败!");

                                   }

                            } catch (ClassNotFoundException e1) {

                                   e1.printStackTrace();

                            } catch (SQLException e1) {

                                   e1.printStackTrace();

                            }

                            finally{

                                   if(ps!=null){

                                          try {

                                                 ps.close();

                                          } catch (SQLException e1) {

                                                 e1.printStackTrace();

                                          }

                                   }

                                   if(conn!=null){

                                          try {

                                                 conn.close();

                                          } catch (SQLException e1) {

                                                 e1.printStackTrace();

                                          }

                                   }

                            }

                     }});

              jb2.addActionListener(new ActionListener(){

                     @Override

                     public void actionPerformed(ActionEvent e) {

                            jt1.setText(null);

                            jt2.setText(null);

                            jt3.setText(null);

                            jt4.setText(null);

                            jt5.setText(null);

                            jt6.setText(null);

                     }});

              jb3.addActionListener(new ActionListener(){

                     @Override

                     public void actionPerformed(ActionEvent e) {

                            FirstStudent inst = new FirstStudent();

                            inst.setLocationRelativeTo(null);

                            inst.setVisible(true);

                     }});

       }

       private void layoujp1() {

              jp1.setLayout(new FlowLayout(0));

              jp1.add(jl1);

              jp1.add(jt1);

              jp1.add(jl2);

              jp1.add(jt2);

       }

       private void layoujp2() {

              jp2.setLayout(new FlowLayout(0));

              jp2.add(jl3);

              jp2.add(jt3);

              jp2.add(jl4);

              jp2.add(jt4);

              jp2.add(jl5);

              jp2.add(jt5);

       }

       private void layoujp3() {

              jp3.setLayout(new FlowLayout(0));

              jp3.add(jl6);

              jp3.add(jt6);

       }

       private void layoujp4() {

              jp4.setLayout(new FlowLayout(1));

              jp4.add(jb1);

              jp4.add(jb2);

              jp4.add(jb3);

       }

       public static void main(String[] args) {

              SecondStudent i=new SecondStudent();

              i.setLocationRelativeTo(null);

              i.setVisible(true);

       }

}

数据库代码:

create database test;

create table student(

id int identity(1,1),

name varchar(20) not null,

class varchar(5) not null,

subject varchar(10) not null,

score int not null,

time varchar(10) not null,

remark varchar(50) not null

);

select*from student;

更多相关推荐:
Java程序设计实验报告

学生实验报告册(理工类)课程名称:JAVA程序设计实验专业班级:M11计算机科学与技术II学生学号:学生姓名:所属院部:XX学院指导教师:20XX20XX学年第二学期金陵科技学院教务处制实验报告书写要求实验报告…

JAVA简单记事本程序设计实验报告(带源码)

JAVA程序设计实验报告院系专业班级11计算机01班姓名任课教师XXX实验题目JAVA简单记事本程序设计目录目录1一引言211课程设计目的212题目说明213开发工具介绍2二总体设计421系统开发平台422系统...

java程序设计课程--实验报告-实验09

Java开发技术实验报告实验序号实验09实验项目名称条件和循环语句二

Java程序设计实验报告 哈工大

Java语言基础实验指导报告书20xx20xx年秋季学期使用班级姓名计算机科学与技术学院实验一Java编程开发环境一实验学时1学时二实验目的1学习从网络下载JDK开发工具与帮助文档2学习安装JDK开发工具及其文...

Java程序设计实验报告20xx

Java程序设计实验指导报告书目录实验1熟悉Java开发环境2实验2简单的输入输出处理3实验3类的练习6实验4Java图形用户界面设计9实验5Java数据流21实验6Java多线程52实验7Java网络功能练习...

JAVA程序设计实验报告

JAVA程序设计实验报告姓名葛猛学号119xx4183班级软件工程112班指导教师柯栋梁20xx年12月24日实验1利用JAVA反射技术分析类结构1实验内容运行程序指定一个要分析的类名称如javalangDou...

简单java程序设计 实验报告

广州大学实验报告学院商学院专业、班级11电子商务姓名、学号课程名称Java语言程序设计项目名称简单java程序设计实验时间:20##年3月8日简单java程序设计_实验报告

java程序设计 实验报告7

学生实验报告书实验课程名称实验课程名称实验课程名称实验课程名称实验课程名称

《JAVA程序设计》实验报告

福建师范大学协和学院本科实验报告课程名称JAVA程序设计系别信息技术系专业计算机科学与技术班级学号姓名20xx年实验项目列表JAVA程序设计实验相关说明实验要求1明确实验课是课程的重要组成部分与理论课有着同等地...

java程序设计课程--实验报告-实验04

Java开发技术实验报告实验序号实验04实验项目名称Applet的编写与运行

Java语言程序设计实验报告1

Java语言程序设计实验报告一学生姓名孙文琳班级信息111学号20xx52275119实验地点经管中心证券实验室指导教师赵利平实验日期20xx36实验环境Windows20xxJDK161实验目的1养成良好的编...

《JAVA程序设计》实验报告

福建师范大学协和学院本科实验报告课程名称JAVA程序设计系别专业班级学号学生姓名20xx年月日实验项目列表JAVA程序设计实验相关说明实验要求1明确实验课是课程的重要组成部分与理论课有着同等地位是培养自身的实验...

java程序设计实验报告(36篇)