1、(3) 因为用户分为两种,所以每一种用户进行操作的界面应该是不同的。首先是学生界面,在其中应该只有查询成绩和个人信息查询和插入。主要来学习如何进行学生界面开发。(4) 除了学生界面外,还要有一个老师界面。老师在老师界面中可以对学生信息进行管理,包括查询、修改和删除。同样也可以对学生的成绩进行管理,包括查询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能够将学生的成绩进行删除。(5) 首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,使用表中的这两项就可以进行登录。在学生表中还应该具有一些和学籍相关的信息,包括年龄、班级等内容,这样就可以在系统中对学生信息进
2、行操作。(6) 除此之外还需要一个成绩表,通过该表老师可以对学生的成绩进行查询、插入、修改和删除。学生也可以通过该表对自己的成绩进行查询。(7) 不管是老师和学生进入学生管理系统都是从登录界面进入的。在登录界面中应该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并进行查询不同的数据库。(8) 对界面设计好基本形式后,就可以进行程序开发。首先要定义两个标签和两个文本框,分别来表示用户名和密码。并且还需要定义一个下拉列表让用户来进行身份选择,其中选项包括“学生”和“老师”。在程序的最后还定义了两个按钮,从而让用户输入用户名和密码后进行登录。(9) 在学生界面中,学生可以对自己的信
3、息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能够查询自己的成绩。(10) 因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单。(11) 对界面进行设计后,就可以进行程序开发。同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。(12) 在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。(13) 学生第一次插入信息后,老师是可以对学生的信息进行
4、修改和删除的。除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发事件,从而进入查询学生信息界面。(14) 在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。单击“查询”子菜单,将触发事件,进入到查询成绩界面。5、 附录(1) 登陆界面import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class systems extends JFrame implements ActionListener static
5、 systems ss; JPanel panel = new JPanel(); JLabel label1 = new JLabel(输入姓名:); JTextField name = new JTextField(); JLabel label2 = new JLabel(密 码: JPasswordField pwd = new JPasswordField(); JButton Enter = new JButton(登录 JButton Exit = new JButton(退出 String url = D:Systemstitle.jpg; ButtonGroup bgp =
6、new ButtonGroup(); JRadioButton stu = new JRadioButton(学生 JRadioButton tch = new JRadioButton(教师 public systems() super(登录系统 this.setResizable(false); JLabel img = new JLabel(new ImageIcon(url); img.setBounds(0,0,500,100); panel.add(img); stu.setBounds(165,210,70,20); tch.setBounds(265,210,70,20); b
7、gp.add(stu); bgp.add(tch); panel.add(stu); panel.add(tch); Enter.setBounds(150,250,80,20); Exit.setBounds(270,250,80,20); Enter.addActionListener(this); Exit.addActionListener(this); panel.add(Enter); panel.add(Exit); panel.setLayout(null); this.add(panel); label1.setBounds(135,130,100,25); panel.ad
8、d(label1); name.setBounds(265,130,100,25); panel.add(name); label2.setBounds(135,165,100,25); panel.add(label2); pwd.setBounds(265,165,100,25); panel.add(pwd); this.setBounds(100,100,500,350); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void actionPerformed(Act
9、ionEvent e) if(e.getSource()=Enter) String username , password; username = name.getText(); password = pwd.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver catch (ClassNotFoundException ce) JOptionPane.showMessageDialog(ss,ce.getMessage(); if(stu.isSelected() try Connection con = DriverManag
10、er.getConnection(jdbc:odbc:sysdb,sa Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(select * from STU while(rs.next() if(rs.getString(ID).equals(username)&(rs.getString(Pwd).equals(password) JOptionPane.showMessageDialog(ss,登陆成功 Students stu = new Students(); else JOptionPan
11、e.showMessageDialog(ss,登录失败 rs.close(); stmt.close(); catch (SQLException se) JOptionPane.showMessageDialog(ss,se.getMessage(); else if(tch.isSelected()systchdb Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(select * from TCH while(rs.next() else catch (SQLException se) JOptionPane.showMessageDialog(ss,se.getMessage(); else System.exit(0); public static void main(String args) systems sys = new systems();(2) 学生界面public class Students extends JFrame implements ActionListener JMenuBar jmb = new JMenuBar(); JMenu Message = new JMenu(信息 JMenu Score = new JMenu(成绩
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1