首页 > 开发 > Java > 正文

Java GUI实现学生成绩管理系统

2024-07-13 10:16:48
字体:
来源:转载
供稿:网友

学习java有一年多了,一直在做web方面的练习,在一个项目中发现需要用到GUI的相关知识,结果没法做出来,网上这方面的文章又不是很多,所有只好自己硬着头皮从头再学一遍了,不过学习后发现,其实GUI是非常有趣的,他并不像WEB程序一样依赖互联网,而且还有许多布局和android相差不是很大,这才发现自己竟又爱上GUI的开发了,不多说了,直接上代码吧,相信有过android或相关界面开发的都明白这其中的道理。

先看看效果吧

Java,学生管理系统,Java成绩管理系统,学生成绩管理系统,GUI学生成绩管理系统Java,学生管理系统,Java成绩管理系统,学生成绩管理系统,GUI学生成绩管理系统Java,学生管理系统,Java成绩管理系统,学生成绩管理系统,GUI学生成绩管理系统

1.登录主界面

package edu.gzu.stuManager;  import java.awt.EventQueue;  import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane;  import java.awt.Toolkit;  import javax.swing.JTextField;  import edu.gzu.stuManager.Dao.UserLoginValid; import edu.gzu.stuManager.Domain.StudentInfo; import edu.gzu.stuManager.View.StudentMainView;  import java.awt.Choice; import java.awt.Font; import java.awt.Button; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent;  public class MainUI {   private JFrame frame;  private JTextField textField;  private JTextField textField_1;   /**   * Launch the application.   */  public static void main(String[] args) {   EventQueue.invokeLater(new Runnable() {    public void run() {     try {      MainUI window = new MainUI();      window.frame.setVisible(true);     } catch (Exception e) {      e.printStackTrace();     }    }   });  }   /**   * Create the application.   */  public MainUI() {   initialize();  }   /**   * Initialize the contents of the frame.   */  private void initialize() {   frame = new JFrame();   frame.setTitle("/u6210/u7EE9/u7BA1/u7406/u7CFB/u7EDF/uFF08/u767B/u5F55/uFF09");   frame.setIconImage(Toolkit.getDefaultToolkit().getImage(MainUI.class.getResource("/image/func_list7_privmana.png")));   frame.setBounds(400, 250, 450, 300);   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   frame.getContentPane().setLayout(null);      JLabel lblNewLabel = new JLabel("/u5B66/u751F/u6210/u7EE9/u7BA1/u7406/u7CFB/u7EDF/u7528/u6237/u767B/u5F55/uFF01");   lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 16));   lblNewLabel.setBounds(111, 17, 287, 15);   frame.getContentPane().add(lblNewLabel);      JLabel lblNewLabel_1 = new JLabel("/u7528/u6237/u540D/uFF1A");   lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 14));   lblNewLabel_1.setBounds(87, 67, 67, 15);   frame.getContentPane().add(lblNewLabel_1);      textField = new JTextField();   textField.setBounds(154, 64, 141, 21);   frame.getContentPane().add(textField);   textField.setColumns(10);      JLabel label = new JLabel("/u5BC6 /u7801/uFF1A");   label.setFont(new Font("宋体", Font.PLAIN, 14));   label.setBounds(87, 108, 67, 15);   frame.getContentPane().add(label);      textField_1 = new JTextField();   textField_1.setColumns(10);   textField_1.setBounds(154, 103, 141, 21);   frame.getContentPane().add(textField_1);      JLabel lblNewLabel_2 = new JLabel("/u6211/u7684/u8EAB/u4EFD/u662F/uFF1A");   lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 14));   lblNewLabel_2.setBounds(105, 150, 97, 15);   frame.getContentPane().add(lblNewLabel_2);      final Choice choice = new Choice();   choice.setBounds(210, 147, 74, 21);   choice.add("学生");   choice.add("教师");   choice.add("系统管理员");   frame.getContentPane().add(choice);      Button button = new Button("/u767B/u5F55");   button.setBounds(87, 194, 76, 23);   button.addMouseListener(new MouseAdapter() {    @Override    public void mouseClicked(MouseEvent e) {     String user=textField.getText();     String password=textField_1.getText();     String shenfen=choice.getSelectedItem();     if(user.equals("")||user==null){      JOptionPane.showMessageDialog(frame, shenfen+":您好,帐号不能为空!");      return;     }else if(password.equals("")||password==null){      JOptionPane.showMessageDialog(frame, shenfen+":您好,密码不能为空!");      return;     }else{      StudentInfo stu=new StudentInfo(Integer.parseInt(user),        Integer.parseInt(password),shenfen);      UserLoginValid dao=new UserLoginValid();      String result=dao.isValid(stu);            if("登录成功!".equals(result)){       JOptionPane.showMessageDialog(frame,result);       StudentMainView index=new StudentMainView(stu);       JFrame frame2=index.getFrame();       frame2.setVisible(true);       frame.dispose();      }else{       JOptionPane.showMessageDialog(frame,result);      }           }    }   });   frame.getContentPane().add(button);      Button button_1 = new Button("/u53D6/u6D88");   button_1.setBounds(219, 194, 76, 23);   frame.getContentPane().add(button_1);        }  } 

2.登录验证逻辑

package edu.gzu.stuManager.Dao;  import edu.gzu.stuManager.Domain.StudentInfo;  public class UserLoginValid {   public String isValid(StudentInfo stu){   int idnum=stu.getIdnum();   int password=stu.getPassword();   String idntify=stu.getIdentify();   String result=null;      if("学生".equals(idntify)){    if(idnum==1207010209&&password==123){     stu.setName("刘明胜 同学");     result="登录成功!";    }else{     result="学生帐号中不存在此用户,请确认身份后再次登录!";    }   }else if("教师".equals(idntify)){    if(idnum==1174386356&&password==123){     stu.setName("刘明胜 老师");     result="登录成功!";    }else{     result="教师帐号中不存在此用户,请确认身份后再次登录!";    }   }else if("系统管理员".equals(idntify)){    if(idnum==999999&&password==123){     stu.setName("系统管理员");     result="登录成功!";    }else{     result="系统管理员帐号中不存在此用户,请确认身份后再次登录!";    }   }         return result;  } } 

3.用户对象(这是一个简单bean)

package edu.gzu.stuManager.Domain;  public class StudentInfo {  private int idnum;  private String name;  private int password;  private String identify;    public StudentInfo(int idnum,int password, String identify) {   super();   this.idnum = idnum;   this.password = password;   this.identify = identify;  }  public int getIdnum() {   return idnum;  }  public void setIdnum(int idnum) {   this.idnum = idnum;  }  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }  public int getPassword() {   return password;  }  public void setPassword(int password) {   this.password = password;  }  public String getIdentify() {   return identify;  }  public void setIdentify(String identify) {   this.identify = identify;  }     } 

4.登录成功后的主界面

package edu.gzu.stuManager.View;  import java.awt.Button; import java.awt.Canvas; import java.awt.Choice; import java.awt.Color; import java.awt.Toolkit; import java.awt.event.ItemEvent; import java.awt.event.ItemListener;  import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;  import edu.gzu.stuManager.Domain.StudentInfo;  public class StudentMainView{  private JFrame frame;  private JTextField textField;  private JTextField textField_1;  private JTextField textField_2;  private JTextField textField_3;    private StudentInfo info;   /**   * Create the frame.   * @wbp.parser.entryPoint   */  public StudentMainView(StudentInfo info) {   this.info=info;  }    public JFrame getFrame(){   initialize();   return frame;  }    /**   * Initialize the contents of the frame.   * @wbp.parser.entryPoint   */  public void initialize() {   frame = new JFrame();   frame.setTitle("/u6210/u7EE9/u7BA1/u7406/u7CFB/u7EDF/uFF08/u5B66/u751F/u7248/uFF09");   frame.setIconImage(Toolkit.getDefaultToolkit().getImage(StudentMainView.class.getResource("/image/func_list7_privmana.png")));   frame.setBounds(300,150, 550, 300);   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   frame.getContentPane().setLayout(null);      JLabel lblNewLabel = new JLabel("欢迎【"+info.getName()+"】登录学生成绩管理系统!");   lblNewLabel.setBounds(54, 10, 322, 15);   frame.getContentPane().add(lblNewLabel);      JPanel panel = new JPanel();   panel.setBounds(29, 52, 250, 180);   frame.getContentPane().add(panel);   panel.setLayout(null);      JLabel lblNewLabel_1 = new JLabel("/u6210/u7EE9/u6570/u636E");   lblNewLabel_1.setBounds(94, 10, 65, 15);   panel.add(lblNewLabel_1);      JLabel lblNewLabel_2 = new JLabel("/u5B66/u53F7/uFF1A");   lblNewLabel_2.setBounds(22, 37, 40, 15);   panel.add(lblNewLabel_2);      textField = new JTextField();   textField.setBounds(72, 35, 154, 21);   textField.setText(info.getIdnum()+"");   panel.add(textField);   textField.setColumns(10);      JLabel lblNewLabel_3 = new JLabel("/u59D3/u540D/uFF1A");   lblNewLabel_3.setBounds(22, 67, 44, 15);   panel.add(lblNewLabel_3);      textField_1 = new JTextField();   textField_1.setBounds(72, 66, 154, 21);   textField_1.setText(info.getName());   panel.add(textField_1);   textField_1.setColumns(10);      Canvas canvas = new Canvas();   canvas.setBackground(Color.BLUE);   canvas.setBounds(22, 100, 205, 1);   panel.add(canvas);      JLabel lblNewLabel_4 = new JLabel("/u8BFE/u7A0B/u540D");   lblNewLabel_4.setBounds(22, 116, 47, 15);   panel.add(lblNewLabel_4);      JLabel lblNewLabel_5 = new JLabel("/u6210/u7EE9");   lblNewLabel_5.setBounds(160, 116, 43, 15);   panel.add(lblNewLabel_5);      textField_2 = new JTextField();   textField_2.setBounds(22, 140, 123, 21);   panel.add(textField_2);   textField_2.setColumns(10);      textField_3 = new JTextField();   textField_3.setBounds(159, 140, 66, 21);   panel.add(textField_3);   textField_3.setColumns(10);      JPanel panel_1 = new JPanel();   panel_1.setBounds(317, 52, 110, 180);   frame.getContentPane().add(panel_1);   panel_1.setLayout(null);      JLabel lblNewLabel_6 = new JLabel("/u64CD/u4F5C/u83DC/u5355");   lblNewLabel_6.setBounds(15, 10, 54, 15);   panel_1.add(lblNewLabel_6);      Button button = new Button("/u7B2C/u4E00/u95E8/u8BFE/u7A0B");   button.setBounds(10, 31, 76, 23);   panel_1.add(button);      Button button_1 = new Button("/u4E0B/u4E00/u95E8/u8BFE/u7A0B");   button_1.setBounds(10, 61, 76, 23);   panel_1.add(button_1);      Button button_2 = new Button("/u4E0A/u4E00/u95E8/u8BFE/u7A0B");   button_2.setActionCommand("/u4E0A/u4E00/u95E8/u8BFE/u7A0B");   button_2.setBounds(10, 90, 76, 23);   panel_1.add(button_2);      Button button_3 = new Button("/u6700/u540E/u4E00/u95E8/u8BFE");   button_3.setBounds(10, 117, 76, 23);   panel_1.add(button_3);      Choice choice = new Choice();   choice.setBounds(10, 149, 76, 21);   choice.add("选择课程");   choice.add("高等数学");   choice.add("大学英语");   choice.add("马列主义");   choice.add("毛泽东思想");   choice.add("计算机图形学");   choice.addItemListener(new ItemListener() {        @Override    public void itemStateChanged(ItemEvent e) {     Object[] objs=e.getItemSelectable().getSelectedObjects();     for(Object ob:objs){ //     JOptionPane.showMessageDialog(frame, ob.toString());      if("高等数学".equals(ob.toString())){       textField_2.setText("高等数学");       textField_3.setText("98");      }else if("大学英语".equals(ob.toString())){       textField_2.setText("大学英语");       textField_3.setText("87");      }else if("马列主义".equals(ob.toString())){       textField_2.setText("马列主义");       textField_3.setText("88");      }else if("毛泽东思想".equals(ob.toString())){       textField_2.setText("毛泽东思想");       textField_3.setText("73");      }else if("计算机图形学".equals(ob.toString())){       textField_2.setText("计算机图形学");       textField_3.setText("97");      }     }              }   });      panel_1.add(choice);  }  } 

这样就能轻松实现登录验证了,本打算从数据库读取数据的,由于时间关系,这里就简单的直接验证了,后续有时间的话再做其他的部分。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表