zoukankan      html  css  js  c++  java
  • 【JAVA】简陋的学生信息管理系统

    因为之前写了一个学生信息管理系统,但还是处于命令行界面,不美观,于是打算做一个完整的界面出来。

    在网上查阅资料后发现C++本身是不支持图形化界面的(可以使用第三方的Qt来做)

    权衡之下还是选择了JAVA,自学之路开始!!!

    目前只做了登陆界面和学生成绩录入功能(其实主要还是训练自己的界面设计能力,虽然都是一个样子···)

     用户名 Paul     密码 123456

    Login.java

      1 package Menu_UI;
      2 
      3 import Data.StuData;
      4 
      5 import javax.swing.*;
      6 import java.awt.*;
      7 import java.awt.event.ActionEvent;
      8 import java.awt.event.ActionListener;
      9 
     10 public class Login implements  ActionListener
     11 {
     12 
     13     private String user_name;    //用户名
     14     private String user_password;//密码
     15 
     16     JTextField jTextField;//用户名文本框
     17     JPasswordField jPasswordField;//密码文本框
     18 
     19     JPanel namePanel;//用户名容器
     20     JPanel passwordPanel;//密码容器
     21     JPanel buttonPanel;//按钮容器
     22     JPanel toastPanel;//消息提示容器
     23     JPanel windowPanel;//总容器
     24 
     25     JLabel Jname;//用户名提示
     26     JLabel Jpassword;//密码提示
     27     JLabel Jtoast;//判断信息
     28 
     29     JButton loginButton;//登陆按钮
     30     JButton cancelButton;//取消按钮
     31 
     32     JFrame frame;//窗口
     33 
     34     public  Login()
     35     {
     36         user_name="Paul";
     37         user_password="123456";
     38 
     39         jTextField=new JTextField(20);
     40         jPasswordField=new JPasswordField(20);
     41 
     42         namePanel=new JPanel();
     43         passwordPanel=new JPanel();
     44         buttonPanel=new JPanel();
     45         toastPanel=new JPanel();
     46         windowPanel=new JPanel(new GridLayout(4,1));
     47 
     48         Jname=new JLabel("用户名");
     49         Jpassword=new JLabel("密    码");
     50         Jtoast=new JLabel("");
     51 
     52         loginButton=new JButton("登陆");
     53         loginButton.addActionListener(this);
     54         cancelButton=new JButton("重置");
     55         cancelButton.addActionListener(this);
     56 
     57 
     58         frame =new JFrame("登陆窗口");
     59 
     60         frame.setSize(500,300);
     61 
     62         frame.setVisible(true);
     63 
     64         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     65 
     66         namePanel.add(Jname);
     67         namePanel.add(jTextField);
     68 
     69         passwordPanel.add(Jpassword);
     70         passwordPanel.add(jPasswordField);
     71 
     72         toastPanel.add(Jtoast);
     73 
     74         buttonPanel.add(loginButton);
     75         buttonPanel.add(cancelButton);
     76 
     77 
     78         windowPanel.add(namePanel);
     79         windowPanel.add(passwordPanel);
     80         windowPanel.add(toastPanel);
     81         windowPanel.add(buttonPanel);
     82         frame.setContentPane(windowPanel);
     83 
     84 
     85     }
     86     public static void main(String args[])
     87     {
     88         new Login();
     89     }
     90 
     91     public void actionPerformed(ActionEvent e) {
     92         String cmd=e.getActionCommand();
     93         if(cmd.equals("登陆"))
     94         {
     95             if(jTextField.getText().equals(user_name)&&jPasswordField.getText().equals(user_password))
     96             {
     97                 //Jtoast.setText(jTextField.getText()+"  用户欢迎使用!");
     98                 JOptionPane.showMessageDialog(null, "登陆成功");
     99                 frame.dispose();//关闭当前窗口
    100                 new StuData();
    101             }
    102             else
    103             {
    104                 Jtoast.setText("用户名或密码错误!");
    105             }
    106         }
    107         else
    108         {
    109             jTextField.setText("");
    110             jPasswordField.setText("");
    111         }
    112 
    113     }
    114 
    115 }

    StuData.java

      1 package Data;
      2 
      3 
      4 import javax.swing.*;
      5 import javax.swing.event.AncestorEvent;
      6 import javax.swing.event.AncestorListener;
      7 import java.awt.event.ActionListener;
      8 import java.util.HashMap;
      9 import java.util.Map;
     10 import java.awt.*;
     11 import java.awt.event.ActionEvent;
     12 class addView {
     13     JTextField TcourseName;//课程文本框
     14     JTextField Tgrades;//成绩文本框
     15     JButton addButton;//添加按钮
     16     JButton cancelButton;//取消按钮
     17     JPanel coursePanel;//课程容器
     18     JPanel gradePanel;//成绩容器
     19     JPanel buttonPanel;//按钮容器
     20     JPanel windowPanel;//总容器
     21     JLabel Jcourse;
     22     JLabel Jgrades;
     23     JFrame frame;
     24     String course_name;
     25     Double course_grades;
     26     SimpleListener addListener;
     27 
     28     public addView(){
     29         addListener=new SimpleListener();
     30         course_grades=0.0;
     31         course_name="";
     32         TcourseName = new JTextField(13);//课程文本框
     33         Tgrades = new JTextField(13);//成绩文本框
     34         addButton = new JButton("添加");//添加按钮
     35         addButton.addActionListener(addListener);
     36         cancelButton = new JButton("取消");//取消按钮
     37         cancelButton.addActionListener(addListener);
     38         coursePanel = new JPanel();//课程容器
     39         gradePanel = new JPanel();//成绩容器
     40         buttonPanel = new JPanel();//按钮容器
     41         windowPanel = new JPanel();//总容器
     42         Jcourse = new JLabel("课程");
     43         Jgrades = new JLabel("成绩");
     44         frame = new JFrame("成绩录入界面");
     45         frame.setSize(800, 100);
     46         frame.setVisible(true);
     47         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     48 
     49         coursePanel.add(Jcourse);
     50         coursePanel.add(TcourseName);
     51 
     52         gradePanel.add(Jgrades);
     53         gradePanel.add(Tgrades);
     54 
     55         buttonPanel.add(addButton);
     56         buttonPanel.add(cancelButton);
     57 
     58         windowPanel.add(coursePanel);
     59         windowPanel.add(gradePanel);
     60         windowPanel.add(buttonPanel);
     61         frame.setContentPane(windowPanel);
     62 
     63     }
     64 
     65     class  SimpleListener implements ActionListener {
     66         public void actionPerformed(ActionEvent e) {
     67             String cmd = e.getActionCommand();
     68             if(cmd.equals("添加")) {
     69                 try {
     70                     //set_grades(TcourseName.getText().toString(), Double.parseDouble(Tgrades.getText().toString()));
     71                     course_name = TcourseName.getText().toString();
     72                     course_grades = Double.parseDouble(Tgrades.getText().toString());
     73                     JOptionPane.showMessageDialog(null, "学生成绩录入成功");
     74                     frame.dispose();
     75                 } catch (NumberFormatException error) {
     76                     JOptionPane.showMessageDialog(null, "你个大坏蛋,输错了啦");
     77                     TcourseName.setText("");
     78                     Tgrades.setText("");
     79                 }
     80             }
     81             else
     82             {
     83             TcourseName.setText("");
     84             Tgrades.setText("");
     85             }
     86          }
     87     }
     88 }
     89 
     90 
     91 
     92 
     93 public class StuData {
     94     public String name;//学生姓名
     95     public String number;//学生学号
     96     public String sex;//学生
     97     public Map<String, Double> grades_map;
     98     public double average;
     99     public int total_lesson;
    100 
    101     private void set_grades(String course_name, Double grades) {
    102         grades_map.put(course_name, grades);
    103         System.out.println("成绩信息添加成功!");
    104     }
    105 
    106     private void print_grades(){
    107         for (Map.Entry<String, Double> entry : grades_map.entrySet()) {//遍历map
    108             System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
    109         }
    110     }
    111 
    112     public StuData(){//构造函数
    113         name = "";
    114         number = "";
    115         sex = "";
    116         average = 0.0;
    117         total_lesson = 0;
    118         grades_map = new HashMap<String, Double>();
    119     }
    120 
    121     public void init(String _name, String _number, String _sex){//初始化学生信息
    122         name = _name;
    123         number = _number;
    124         sex = _sex;
    125     }
    126 
    127     public void setGrades(){//公有函数,弹出成绩录入窗口并采集信息
    128 
    129         new addView();
    130     }
    131 
    132 
    133 
    134     public static void main(String args[]){
    135         StuData test=new StuData();
    136         test.setGrades();
    137     }
    138 }

    Welcome.java

     1 package Menu_UI;
     2 
     3 
     4 import java.awt.*;
     5 import java.awt.event.*;
     6 import javax.swing.*;
     7 public class Welcome {
     8 
     9 //待完善,这个界面就是登陆成功后的界面,对学生信息进行查询打印修改等操作
    10 
    11 }

  • 相关阅读:
    开源协议介绍
    Guice vs Dependency Injection By Hand
    Eclipse与MyEclipse的联系和区别
    Java Basic
    解决Windows Vista 英文版中文软件乱码
    [转]Java B/S开发模式漫谈
    什么是Groovy
    JBoss, Geronimo, Tomcat
    一个让你迅速理解Javabean的实例
    keepalive 原理讲解 salami
  • 原文地址:https://www.cnblogs.com/robotpaul/p/10395944.html
Copyright © 2011-2022 走看看