zoukankan      html  css  js  c++  java
  • 2016/04/24 学生管理系统 (有待完善)

    package com.wode.test;

    /**
     * 学生管理系统
     */
    import java.awt.Container;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ContainerListener;
    import java.awt.event.FocusEvent;
    import java.awt.event.FocusListener;
    import java.awt.event.KeyListener;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;

    public class StudentSystem extends JFrame {

     public StudentSystem(String title) {
      super(title);
      this.setSize(400, 300);// 设置窗体大小
      this.setLocationRelativeTo(null);// 居中显示
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 可关闭性
      this.setResizable(false);// 禁止用户放大窗口

      JPanel jPanel = new JPanel();
      jPanel.setLayout(null); // 设置自由布局
      jPanel.setBounds(1, 1, 500, 400);// 容器大小和窗口一样大

      // 标题
      JLabel jLabelheadline = new JLabel("***学生管理系统登录***");
      jLabelheadline.setFont(new Font("正楷", Font.BOLD, 20));
      jLabelheadline.setBounds(100, 20, 400, 20);
      jPanel.add(jLabelheadline);

      // 用户输入
      JLabel jLabelName = new JLabel("用户名:");
      jLabelName.setBounds(100, 65, 60, 20);
      jPanel.add(jLabelName);
      // 用户输入提示
      JLabel txtnameprompt = new JLabel("请输入6-18字母");
      txtnameprompt.setBounds(280, 65, 100, 20);
      jPanel.add(txtnameprompt);

      // 用户输入框
      JTextField txtName = new JTextField();
      txtName.setBounds(180, 65, 85, 20);
      jPanel.add(txtName);
      txtName.addFocusListener(new txtNameListener(txtName, txtnameprompt));

      // 密码
      JLabel jLabelpassword = new JLabel("    密码:");
      jLabelpassword.setBounds(100, 120, 60, 20);
      jPanel.add(jLabelpassword);

      // 密码输入提示
      JLabel txtpasswordprompt = new JLabel("请输入6-18数字");
      txtpasswordprompt.setBounds(280, 120, 100, 20);
      jPanel.add(txtpasswordprompt);

      // 密码输入框
      JPasswordField txtpassword = new JPasswordField();
      txtpassword.setBounds(180, 120, 85, 20);
      txtpassword.addFocusListener(new txtpasswordListener(txtpassword, txtpasswordprompt));
      jPanel.add(txtpassword);

      // 确定按钮
      JButton okbtn = new JButton("确定");
      okbtn.setBounds(110, 200, 60, 40);
      jPanel.add(okbtn);

      // 绑定事件
      okbtn.addActionListener(new okListener(txtName, txtpassword));

      // 取消按钮
      JButton cancelbtn = new JButton("取消");
      cancelbtn.setBounds(220, 200, 60, 40);
      jPanel.add(cancelbtn);

      this.add(jPanel);
      this.setVisible(true);

     }

     public static void main(String[] args) {
      new StudentSystem("学生管理系统");
     }
    }

    /**
     *
     * @author Administrator 鼠标点击确定
     */
    class okListener implements ActionListener {
     private JTextField txtName;
     private JPasswordField txtpassword;

     public okListener(JTextField txtName, JPasswordField txtpassword) {
      this.txtName = txtName;
      this.txtpassword = txtpassword;
     }

     @Override
     public void actionPerformed(ActionEvent arg0) {
      // TODO Auto-generated method stub
      // 触发事件
      // System.out.println("ok已经点击");
      if (txtName.getText().equals("zhangsan") && txtpassword.getText().equals("admin")) {
       // System.out.println("学生界面");
       txtName.setText("张三");
       new StudentJFrame(txtName.getText());
       

      } else if (txtName.getText().equals("laozhang") && txtpassword.getText().equals("admin")) {
       // System.out.println("老师界面");
       txtName.setText("张");
       new TeacherJFrame(txtName.getText());

      }
     }

    }

    /**
     *
     * @author Administrator 用户输入框焦点
     */
    class txtNameListener implements FocusListener {
     private JTextField txtName;
     private JLabel txtnameprompt;
     JLabel jlLabel = new JLabel();

     public txtNameListener(JTextField txtName, JLabel txtnameprompt) {
      this.txtName = txtName;
      this.txtnameprompt = txtnameprompt;
     }

     @Override
     public void focusGained(FocusEvent arg0) {
      // TODO Auto-generated method stub
      // System.out.println("获得焦点");
      txtnameprompt.setText("请输入6-18字母");
     }

     @Override
     public void focusLost(FocusEvent arg0) {
      // TODO Auto-generated method stub
      // System.out.println("失去焦点");
      if (txtName.getText().length() == 0) {

       txtnameprompt.setText("用户名不能为空");
      } else if (txtName.getText().length() != 0) {
       Pattern p = Pattern.compile("^[a-z]{8,16}$");
       Matcher m = p.matcher(txtName.getText());
       System.out.println(txtName.getText());

      }
     }

    }

    /***
     *
     * @author Administrator 密码输入焦点
     */
    class txtpasswordListener implements FocusListener {
     private JPasswordField txtpassword;
     private JLabel txtpasswordprompt;

     public txtpasswordListener(JPasswordField txtpassword, JLabel txtpasswordprompt) {
      this.txtpassword = txtpassword;
      this.txtpasswordprompt = txtpasswordprompt;
     }

     @Override
     public void focusGained(FocusEvent arg0) {
      // TODO Auto-generated method stub
      // 获得焦点时
      // System.out.println("密码框获得焦点");
      txtpasswordprompt.setText("请输入6-18数字");
     }

     @Override
     public void focusLost(FocusEvent arg0) {
      // TODO Auto-generated method stub
      // 失去焦点时
      // System.out.println("密码框失去焦点");
      if (txtpassword.getText().length() == 0) {

       txtpasswordprompt.setText("密码不能为空");
      } else if (txtpassword.getText().length() != 0) {
       Pattern p = Pattern.compile("^[a-z]{0,16}$");
       Matcher m = p.matcher(txtpassword.getText());
       if (m.matches()) {
        System.out.println(txtpassword.getText());
       }

      }
     }

    package com.wode.test;

    import java.awt.Font;

    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.table.DefaultTableModel;

    public class StudentJFrame extends JFrame {
     public StudentJFrame(String StudnetName) {
      this.setSize(400, 300);// 设置窗体大小
      this.setLocationRelativeTo(null);// 居中显示
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 可关闭性
      // this.setResizable(false);// 禁止用户放大窗口

      JPanel jPanel = new JPanel();
      jPanel.setLayout(null); // 设置自由布局
      jPanel.setBounds(1, 1, 500, 400);// 容器大小和窗口一样大

      // 标题
      JLabel jLabelheadline = new JLabel("*****学生信息*****");
      jLabelheadline.setFont(new Font("正楷", Font.BOLD, 20));
      jLabelheadline.setBounds(100, 0, 400, 20);
      jPanel.add(jLabelheadline);

      // 欢迎学生
      JLabel jLabelTime = new JLabel(StudnetName + "同学欢迎你");
      jLabelTime.setBounds(290, 20, 400, 20);
      jPanel.add(jLabelTime);

      // 同学信息
      DefaultTableModel model = new DefaultTableModel(0, 3);

      this.add(jPanel);
      this.setVisible(true);
     }

     public static void main(String[] args) {
      new StudentJFrame("");
     }
    }

    package com.wode.test;

    import java.awt.BorderLayout;
    import java.awt.Font;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;


    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;

    public class TeacherJFrame extends JFrame {
     public TeacherJFrame(String TeacherName) {
      this.setSize(400, 300);// 设置窗体大小
      this.setLocationRelativeTo(null);// 居中显示
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 可关闭性
      this.setResizable(false);// 禁止用户放大窗口

      JPanel jPanel = new JPanel();
      jPanel.setLayout(null); // 设置自由布局
      jPanel.setBounds(1, 1, 500, 400);// 容器大小和窗口一样大

      //学生的信息
      StudentList stu  = new  StudentList();
      List<Student> list = stu.get();
      List<Object> student;
      JTable stujtable = new  JTable();
      DefaultTableModel model = new  DefaultTableModel(0,3);
      for (int i = 0; i < list.size(); i++) {
       student = new ArrayList<>();
       student.add(list.get(i).getName());
       student.add(list.get(i).getAge());
       student.add(list.get(i).getSite());
       model.addRow(student.toArray());
      }
      stujtable.setModel(model);
      JPanel stujpanel = new JPanel();
      stujpanel.setBounds(0, 200, 30, 30);
      stujpanel.setLayout(new BorderLayout());
      stujpanel.add(stujtable,BorderLayout.NORTH);
      
      // 标题
      JLabel jLabelheadline = new JLabel("****老师管理界面****");
      jLabelheadline.setFont(new Font("正楷", Font.BOLD, 20));
      jLabelheadline.setBounds(100, 1, 400, 20);
      jPanel.add(jLabelheadline);

      // 开始
      JMenuBar menuBar = new JMenuBar();
      setJMenuBar(menuBar);
      JMenu begin = new JMenu("开始");
      menuBar.add(begin);
      JMenuItem exit = new JMenuItem("退出");
      exit.addActionListener(new quitListener());
      begin.add(exit);

      // 时间
      Date date = new Date();
      SimpleDateFormat a = new SimpleDateFormat("yyyy-MM-dd ");
      String daTe = a.format(date);
      JLabel dateJLabel = new JLabel(daTe);
      dateJLabel.setBounds(320, 0, 400, 30);
      jPanel.add(dateJLabel);

      // 欢迎
      JLabel jLabelWelcome = new JLabel(TeacherName + "老师欢迎您");
      jLabelWelcome.setBounds(310, 20, 400, 20);
      jPanel.add(jLabelWelcome);

      this.add(jPanel);
      this.setVisible(true);
     }

     public static void main(String[] args) {
      new TeacherJFrame("");
     }

    }

    class quitListener implements ActionListener {

     @Override
     public void actionPerformed(ActionEvent arg0) {
      // TODO Auto-generated method stub
      // System.out.println("退出系统");
      System.exit(0);
     }

    }

    package com.wode.test;

    import java.util.ArrayList;
    import java.util.List;

    /**
     *
     * @author Administrator
     *建立一个学生类
     */
    public class Student {

     private String  name;
     private int age;
     private String site ;

     
     
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     public int getAge() {
      return age;
     }
     public void setAge(int age) {
      this.age = age;
     }
     public String getSite() {
      return site;
     }
     public void setSite(String site) {
      this.site = site;
     }
     
    }

    package com.wode.test;

    import java.util.ArrayList;
    import java.util.List;

    public class StudentList {
     public List<Student> get(){
      List<Student> list  =  new ArrayList<>();
      Student s = new Student();
      s.setName("张三");
      s.setAge(18);
      s.setSite("成都");
      list.add(s);
      
      
      Student s1 = new Student();
      s.setName("李四");
      s.setAge(18);
      s.setSite("西昌");
      list.add(s1);
      
      
      Student s2 = new Student();
      s.setName("王五");
      s.setAge(18);
      s.setSite("上海");
      list.add(s2);
      
      
      Student s3 = new Student();
      s.setName("狗蛋");
      s.setAge(18);
      s.setSite("北京");
      list.add(s3);
      
      return list;
     }

    }

  • 相关阅读:
    Python入门系列——第17篇
    Python入门系列——第16篇
    Python入门系列——第15篇
    Python入门系列——第14篇
    Python入门系列——第13篇
    Python入门系列——第12篇
    python入门系列——第11篇
    Python入门系列——第10篇
    Python入门系列——第9篇
    Python入门系列——第8篇
  • 原文地址:https://www.cnblogs.com/chenyangpeng/p/5426959.html
Copyright © 2011-2022 走看看