加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

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

发布时间:2020-12-15 00:49:43 所属栏目:C语言 来源:网络整理
导读:学习java有一年多了,一直在做web方面的练习,在一个项目中发现需要用到GUI的相关知识,结果没法做出来,网上这方面的文章又不是很多,所有只好自己硬着头皮从头再学一遍了,不过学习后发现,其实GUI是非常有趣的,他并不像WEB程序一样依赖互联网,而且还有

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

先看看效果吧

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("u6210u7EE9u7BA1u7406u7CFBu7EDFuFF08u767Bu5F55uFF09"); 
  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("u5B66u751Fu6210u7EE9u7BA1u7406u7CFBu7EDFu7528u6237u767Bu5F55uFF01"); 
  lblNewLabel.setFont(new Font("宋体",Font.PLAIN,16)); 
  lblNewLabel.setBounds(111,17,287,15); 
  frame.getContentPane().add(lblNewLabel); 
   
  JLabel lblNewLabel_1 = new JLabel("u7528u6237u540DuFF1A"); 
  lblNewLabel_1.setFont(new Font("宋体",14)); 
  lblNewLabel_1.setBounds(87,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 u7801uFF1A"); 
  label.setFont(new Font("宋体",14)); 
  label.setBounds(87,108,15); 
  frame.getContentPane().add(label); 
   
  textField_1 = new JTextField(); 
  textField_1.setColumns(10); 
  textField_1.setBounds(154,103,21); 
  frame.getContentPane().add(textField_1); 
   
  JLabel lblNewLabel_2 = new JLabel("u6211u7684u8EABu4EFDu662FuFF1A"); 
  lblNewLabel_2.setFont(new Font("宋体",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("u767Bu5F55"); 
  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("u53D6u6D88"); 
  button_1.setBounds(219,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("u6210u7EE9u7BA1u7406u7CFBu7EDFuFF08u5B66u751Fu7248uFF09"); 
  frame.setIconImage(Toolkit.getDefaultToolkit().getImage(StudentMainView.class.getResource("/image/func_list7_privmana.png"))); 
  frame.setBounds(300,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,180); 
  frame.getContentPane().add(panel); 
  panel.setLayout(null); 
   
  JLabel lblNewLabel_1 = new JLabel("u6210u7EE9u6570u636E"); 
  lblNewLabel_1.setBounds(94,65,15); 
  panel.add(lblNewLabel_1); 
   
  JLabel lblNewLabel_2 = new JLabel("u5B66u53F7uFF1A"); 
  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("u59D3u540DuFF1A"); 
  lblNewLabel_3.setBounds(22,44,15); 
  panel.add(lblNewLabel_3); 
   
  textField_1 = new JTextField(); 
  textField_1.setBounds(72,66,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("u8BFEu7A0Bu540D"); 
  lblNewLabel_4.setBounds(22,116,47,15); 
  panel.add(lblNewLabel_4); 
   
  JLabel lblNewLabel_5 = new JLabel("u6210u7EE9"); 
  lblNewLabel_5.setBounds(160,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,21); 
  panel.add(textField_3); 
  textField_3.setColumns(10); 
   
  JPanel panel_1 = new JPanel(); 
  panel_1.setBounds(317,110,180); 
  frame.getContentPane().add(panel_1); 
  panel_1.setLayout(null); 
   
  JLabel lblNewLabel_6 = new JLabel("u64CDu4F5Cu83DCu5355"); 
  lblNewLabel_6.setBounds(15,54,15); 
  panel_1.add(lblNewLabel_6); 
   
  Button button = new Button("u7B2Cu4E00u95E8u8BFEu7A0B"); 
  button.setBounds(10,31,23); 
  panel_1.add(button); 
   
  Button button_1 = new Button("u4E0Bu4E00u95E8u8BFEu7A0B"); 
  button_1.setBounds(10,61,23); 
  panel_1.add(button_1); 
   
  Button button_2 = new Button("u4E0Au4E00u95E8u8BFEu7A0B"); 
  button_2.setActionCommand("u4E0Au4E00u95E8u8BFEu7A0B"); 
  button_2.setBounds(10,90,23); 
  panel_1.add(button_2); 
   
  Button button_3 = new Button("u6700u540Eu4E00u95E8u8BFE"); 
  button_3.setBounds(10,117,23); 
  panel_1.add(button_3); 
   
  Choice choice = new Choice(); 
  choice.setBounds(10,149,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); 
 } 
 
} 

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读