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

学习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("\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);
 } 

}

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

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

您可能感兴趣的文章:

  • 图书管理系统java代码实现
  • Java基于MySQL实现学生管理系统
  • Java版水果管理系统源码
  • Java实现购物管理系统
  • java实现水果超市管理系统
  • java学生成绩管理系统设计与实现
  • java学生信息管理系统设计与实现
  • java学生管理系统界面简单实现(全)
  • javaWeb实现学生信息管理系统
  • java学生信息管理系统源代码
(0)

相关推荐

  • java学生信息管理系统设计与实现

    闲暇之余用JAVA写了个学生信息的管理系统,由于博主还是萌新,代码难免有冗余和错误的地方,如果您发现有什么不足之处或者错误,请留言.博主会尽量回复. 需求分析 一个学生信息管理系统应该包含这些内容: 教师页面 在教师页面应该包含: 学生页面 在教学生页面应该包含: 包含的类 根据分析,我们的学生信息系统应该包含三个类: 代码 学生类 Student.java package com.gcl; import com.sun.org.glassfish.external.statistics.Ave

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • Java实现购物管理系统

    本文实例为大家分享了Java实现购物管理系统的具体代码,供大家参考,具体内容如下 重点内容 JAVA分支结构练习 动态数组 注册表读写删 代码: package Endless; import java.util.ArrayList; import java.util.Random; /** * @JAVA01.person1.java * @author 当前用户:Endless作者 :Endless * @version 创建时间:2017年7月26日 下午6:29:16 * //实现商品及

  • Java基于MySQL实现学生管理系统

    本文为大家分享了Java基于MySQL实现学生管理系统,供大家参考,具体内容如下 因为实验室要交作业然后就做了一个学生管理系统,贴个代码纪念一下,做的太急界面什么的也比较差. 还有一些小细节没有完善不过还是能实现主要的功能的. Window是主界面 package First; import java.sql.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Window { pub

  • java实现水果超市管理系统

    本文为大家分享了java实现水果超市管理系统的具体代码,供大家参考,具体内容如下 首先建立水果类的界面 public class Fruit { //定义ID private String id; //定义名称 private String name; //定义价格 private int price; //定义单位 private String unit; //定义数量 private int number; public Fruit(String id, String name, int p

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

  • java学生管理系统界面简单实现(全)

    学生管理系统简单的实现,供初学Java Swing同学学习使用. import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import jav

  • 图书管理系统java代码实现

    本文实例为大家分享了java实现图书管理系统的具体代码,供大家参考,具体内容如下 /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:    <图书管理系统--java>                          * 作    者:       刘江波                       * 完成日期:    2012     年  3    

  • Java版水果管理系统源码

    水果管理系统Java版分享给大家. 主类 FruitsDemo /** * 功能: * 1. 查看所有的水果 * 2. 添加新的水果(添加的时候判断水果名是否有重复) * 3. 对所有的水果进行排序(价格排序.库存排序) * 4. 删除指定的水果 * 5. 退出系统 * * 注意: * 1. 每种水果都必须有水果id,水果名,水果数量,水果价格 * 2. 添加水果时,要由用户输入水果名.数量和价格 * 3. 删除水果时要二次确认 * * 评分依据: 功能实现的情况,代码规范性(命名规范.格式规范

  • java学生成绩管理系统设计与实现

    本文实例为大家分享了java学生成绩管理系统的具体代码,供大家参考,具体内容如下 /* *@copyright by LzyRapx on 2016/4/12. *@name:java学生成绩管理系统. *@功能:学生相关信息,录入,查询,统计,修改等.... *@PS:图形界面的学生管理系统不要求就不做了. */ import java.util.Scanner; import java.lang.*; import java.io.*; class Student { private sta

随机推荐