⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 studentdb.java

📁 简单学籍管理系统基于java语言环境
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.sql.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class StudentDB extends  JDialog //implements ActionListener
{  
	//private boolean blnVisible=true; 
	 JDialog dlgLogin=new JDialog();    
 	 JTabbedPane tabs =new JTabbedPane(SwingConstants.TOP);
	Container conContentPane=getContentPane();	 
	public static void main(String args[]) 
	{ StudentDB Student=new StudentDB();
		Student.createUI();
	 }
  private void createUI()
  { 
 	 AdmisLoginPanel pnlLoginAdmis =new AdmisLoginPanel();
	 ComUserLoginPanel pnlLoginComUser =new ComUserLoginPanel(dlgLogin);
 	 addWindowListener(new WindowAdapter()
 	 		   {public  void windowClosing(WindowEvent Event)
 	 			    { 
 	 			    	System.exit(0);
 	 				    }
 	 				});
 	
    	tabs.addTab( "管理员",pnlLoginAdmis);
 	 		tabs.addTab("普通用户",pnlLoginComUser);
 	 		//Container conContentPane=getContentPane();
 	 		conContentPane.add(tabs,"Center");
 	 		setTitle("学籍管理系统登录窗口");
 	 		setSize(350,200);
 	 		setVisible(true);
 	 		
 	 		/*System.out.println(blnVisible);
 	 		blnVisible=pnlLoginAdmis.blndispose();
 	 		System.out.println(blnVisible);
 	 		if(blnVisible) dispose();
 	 		*/
  
    }
}


class AdmisLoginPanel extends JPanel implements ActionListener    //管理员组件及监听
{   
	  //private boolean blnnewdispose;
	  private boolean blnPanDuan;
	  private  boolean blndispose=false;
   	private String strAdmisPassword=new String("admis");
   	private JLabel lblPassword=new JLabel("管理员密码");
 	  private JPasswordField  txtPassword =new JPasswordField("",6);
 	  private JButton btnLogin =new JButton("登录");
 	  private JButton btnCancel =new JButton("取消");
 	  //StudentDB Stud;
 	  AdmisLoginPanel()
 	   {
 	  	GridBagLayout gridbag=new GridBagLayout();
 	    GridBagConstraints constraints =new GridBagConstraints();
 	    setLayout(gridbag);
 	    constraints.insets=new Insets(5,5,5,5);
 	    constraints.gridx=0;
 	    constraints.gridy=2;
 	    constraints.anchor=GridBagConstraints.EAST;
 	    gridbag.setConstraints(lblPassword,constraints);
 	    this.add(lblPassword);
 	    constraints.gridx=1;
 	    constraints.gridy=2;
 	    constraints.anchor=GridBagConstraints.WEST;
 	    gridbag.setConstraints(txtPassword,constraints);
 	    this.add(txtPassword);    txtPassword.addActionListener(this);
 	    txtPassword.setToolTipText("请输入管理员密码");  
 	    constraints.gridx=0;
 	    constraints.gridy=3;
 	    constraints.anchor=GridBagConstraints.EAST;
 	    gridbag.setConstraints(btnLogin,constraints);
 	    this.add(btnLogin);       btnLogin.addActionListener(this);
 	    btnLogin.setToolTipText("管理员登录");
 	    constraints.gridx=1;
 	    constraints.gridy=3;
 	    constraints.anchor=GridBagConstraints.WEST;
 	    gridbag.setConstraints(btnCancel,constraints);
 	    this.add(btnCancel);      btnCancel.addActionListener(this);
 	    btnCancel.setToolTipText("取消登录");
      }
     public void actionPerformed(ActionEvent eve)
 	 		{
 	 			Object objSource =eve.getSource();
 	 			if(objSource==btnLogin )
 	 			 { 
 	 			 	if(strAdmisPassword.equals(txtPassword.getText()))  //测试登陆密码   getPassword() -- uses or overrides a deprecated API 使用或重载
 	 				{
 	 				 blnPanDuan=true;
 	 				 txtPassword.setText("");
 	 				 QueryFrame qframe =new QueryFrame(blnPanDuan);//boolean blnPanDuan);
 	 				 qframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				      //使窗口显示在中央
		        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		        Dimension frameSize = qframe.getSize();
		        if (frameSize.height > screenSize.height) 
				                    frameSize.height = screenSize.height;
				    if (frameSize.width > screenSize.width)
				          frameSize.width = screenSize.width;
			      qframe.setLocation( (screenSize.width - frameSize.width) / 2,(screenSize.height - frameSize.height) / 2);
		        
		        //System.out.println("hello");
		        qframe.show();
		        //  blndispose=true;
		         //System.out.println("diao "+blndispose);
		         //dlgLogin.dispose();
		        //dlgLogin.setVisible(false);
		       }
		        else
		        {
		         JOptionPane.showMessageDialog(null, "密码不正确,请重新输入");
		         txtPassword.setText("");
	       	   txtPassword.requestFocus();
		        }
		      }     
	     else if(objSource==btnCancel)
	       {txtPassword.setText("");
	       	txtPassword.requestFocus();
	       	}
	       	
		      //frmLogin.setVisible(false);
	    }
	/*public boolean blndispose() //返回布尔值函数
	{ 
		
		System.out.println("return "+blndispose);
		return blndispose;
	 } */ 
}
 class ComUserLoginPanel extends JPanel implements ActionListener //ItemListener 普通用户组件及监听
{  
	  private boolean blnPanDuan;              //决定是否具有全部功能
   	private String strComUserPassword=new String("common");
   	private JLabel lblPassword=new JLabel("用户密码 ");
 	  private JPasswordField  txtPassword =new JPasswordField("",6);
 	  private JButton btnLogin =new JButton("登录");
 	  private JButton btnCancel =new JButton("取消");
 	  private JDialog dlgnewLogin =new JDialog();
 	  public ComUserLoginPanel(JDialog dlgLogin)
 	   {
 	   	//System.out.println("dlgLogin="+dlgLogin.toString());
 	   	dlgnewLogin=dlgLogin;
 	   	//System.out.println("dlgLogin="+dlgnewLogin.toString());
 	   	GridBagLayout gridbag=new GridBagLayout();
 	    GridBagConstraints constraints =new GridBagConstraints();
 	    setLayout(gridbag);
 	    constraints.insets=new Insets(6,6,6,6);
 	    constraints.gridx=0;
 	    constraints.gridy=2;
 	    constraints.anchor=GridBagConstraints.EAST;
 	    gridbag.setConstraints(lblPassword,constraints);
 	    this.add(lblPassword);
 	    constraints.gridx=1;
 	    constraints.gridy=2;
 	    constraints.anchor=GridBagConstraints.WEST;
 	    gridbag.setConstraints(txtPassword,constraints);
 	    this.add(txtPassword);    txtPassword.addActionListener(this);
 	    txtPassword.setToolTipText("请输入用户密码"); 
 	    constraints.gridx=0;
 	    constraints.gridy=3;
 	    constraints.anchor=GridBagConstraints.EAST;
 	    gridbag.setConstraints(btnLogin,constraints);
 	    this.add(btnLogin);       btnLogin.addActionListener(this);
 	    btnLogin.setToolTipText("用户登录");
 	    constraints.gridx=1;
 	    constraints.gridy=3;
 	    constraints.anchor=GridBagConstraints.WEST;
 	    gridbag.setConstraints(btnCancel,constraints);
 	    this.add(btnCancel);      btnCancel.addActionListener(this);
 	    btnCancel.setToolTipText("取消登录");
     } 
 public void actionPerformed(ActionEvent eve)
 	 		{
 	 			Object objSource =eve.getSource();
 	 			if(objSource==btnLogin )
 	 			 { 
 	 			 	if(strComUserPassword.equals(txtPassword.getText()))  //测试登陆密码  getPassword() -- uses or overrides a deprecated API 使用或重载
 	 				{
 	 				 blnPanDuan=false;
 	 				 txtPassword.setText("");
 	 				 QueryFrame qframe = new QueryFrame(blnPanDuan);
 	 				 qframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				      //使窗口显示在中央
		        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		        Dimension frameSize = qframe.getSize();
		        if (frameSize.height > screenSize.height) 
				                    frameSize.height = screenSize.height;
				    if (frameSize.width > screenSize.width)
				          frameSize.width = screenSize.width;
			      qframe.setLocation( (screenSize.width - frameSize.width) / 2,(screenSize.height - frameSize.height) / 2);
		        
		        //System.out.println("hello");
		        qframe.show();
		        //System.out.println("dlgLogin="+dlgnewLogin.toString());
		        //dlgLogin.dispose();
		       // dlgLogin.setVisible(false);
		        //System.exit(0); 
		        //dlgnewLogin.setVisible(false);
		        //conContentPane.setVisible(false);
		       }
		        else
		        {
		         JOptionPane.showMessageDialog(null, "密码不正确,请重新输入");
		         txtPassword.setText("");
	       	   txtPassword.requestFocus();
		         
		         }
		      }     
	     else if(objSource==btnCancel)
	       {txtPassword.setText("");
	       	txtPassword.requestFocus();
	       	}
	       	
		      //frmLogin.setVisible(false);
	    }     	 
}
//}
class QueryFrame extends JFrame implements ActionListener
{
	private boolean blnnewPanDuan;
	public static final int WIDTH = 600;
	public static final int HEIGHT =400;
	private Connection conn;
	private Statement stmt;
	//输入输出组件声明
	private JPanel pnlInsert;
	private JTextField txtStuno;
	private JTextField txtStuname;
	private JTextField txtStuage;
	private JComboBox  cbxStusex;
	private JComboBox  cbxStupolitical;
	private JTextField txtStuhometown;
	private JTextField txtStudept;
	private JTextField txtStuno_d;
	private JTextArea txaResult;
	private JButton btnInsert;
	private JButton btnquery;
	private JButton btndelete;
	private JButton btnmodify;
	private JButton btnreset;
	private JButton btnexit;
	//菜单组件声明
	private JMenuBar mnuMain =new JMenuBar();
	private JMenu mnuFile =new JMenu("文件(F)");
	private JMenu mnuEdit =new JMenu("编辑(E)");
	private JMenu mnuHelp =new JMenu("帮助(H)");
	private JMenuItem mnuFileConn =new JMenuItem("连接数据库");
	private JMenuItem munFileDisconn=new JMenuItem("关闭数据库");
	private JMenuItem mnuFileExit=new JMenuItem("退出(X)");
	private JMenuItem mnuEditQuery=new JMenuItem("查询(Q)");
	private JMenuItem mnuEditInsert=new JMenuItem("插入(I)"); 
	private JMenuItem mnuEditDelete=new JMenuItem("删除(D)"); //mnuEditDelete.setEnabled(blnnewPanDuan);
	private JMenuItem mnuEditModify=new JMenuItem("修改(M)"); //mnuEditModify.setEnabled(blnnewPanDuan);
	private JMenuItem mnuHelpHelp=new JMenuItem("版本信息");
	
	public QueryFrame(boolean blnPanDuan)   //结构体
	{ 
		blnnewPanDuan=blnPanDuan;
		setTitle("学籍管理系统");
		setSize(WIDTH,HEIGHT);
		txtStuno = new JTextField(); txtStuno.setToolTipText("请输入学号");
		txtStuname = new JTextField();
		txtStuage = new JTextField();
		cbxStusex = new JComboBox();
		cbxStupolitical = new JComboBox();
		txtStuhometown = new JTextField();
		txtStudept = new JTextField();
		txtStuno_d = new JTextField();

		cbxStusex.addItem("");
		cbxStusex.addItem("男");
		cbxStusex.addItem("女");
		
		cbxStupolitical.addItem("无");
		cbxStupolitical.addItem("团员");
		cbxStupolitical.addItem("党员");
		
		btnInsert = new JButton("添加");             btnInsert.setEnabled(blnnewPanDuan);
		btnInsert.setToolTipText("增加新学生信息");
		btndelete = new JButton("删除");             btndelete.setEnabled(blnnewPanDuan);
		btndelete.setToolTipText("删除学生信息");
	  btnquery= new JButton("查询");
	  btnquery.setToolTipText("查寻学生信息请输入学号");
		btnmodify = new JButton("修改");             btnmodify.setEnabled(blnnewPanDuan);
		btnmodify.setToolTipText("修改学生信息请输入学号");
		btnreset=new JButton("重置");
		btnreset.setToolTipText("清空输入窗");
		btnexit=new JButton("关闭数据库");
		btnexit.setToolTipText("保护数据库");
		btnInsert.addActionListener(this);
		btndelete.addActionListener(this);
		btnquery.addActionListener(this);
		btnmodify.addActionListener(this);
		btnreset.addActionListener(this);
		btnexit.addActionListener(this);
		//setMenuBar(mnuMain); 添加菜单组件
		//getContentPane().add(mnuMain,BorderLayout.NORTH);
		mnuMain.add(mnuFile);         //mnuFile.addActionListener(this); 监听加到Item上才有效
		mnuFile.add(mnuFileConn);     mnuFileConn.addActionListener(this);
		mnuFile.addSeparator();
		mnuFile.add(munFileDisconn);  munFileDisconn.addActionListener(this);
		//mnuFileQuery.setMnemonic('F');
		mnuFile.setMnemonic('F');
		mnuFile.addSeparator();        
		mnuFile.add(mnuFileExit);     mnuFileExit.addActionListener(this);
		mnuFileExit.setMnemonic('X');
		
		mnuMain.add(mnuEdit);         //mnuEdit.addActionListener(this);
		mnuEdit.setMnemonic('E');
		mnuEdit.add(mnuEditQuery);    mnuEditQuery.addActionListener(this);
		mnuEditQuery.setMnemonic('Q');
		mnuEdit.addSeparator();
		mnuEdit.add(mnuEditInsert);   mnuEditInsert.addActionListener(this);
		mnuEditInsert.setMnemonic('I');
		mnuEdit.addSeparator();
		mnuEdit.add(mnuEditDelete);   mnuEditDelete.addActionListener(this);
		mnuEditDelete.setMnemonic('D');
		mnuEdit.addSeparator();
		mnuEdit.add(mnuEditModify);   mnuEditModify.addActionListener(this);
		mnuEditModify.setMnemonic('M');
		
		mnuMain.add(mnuHelp);
		mnuHelp.add(mnuHelpHelp);    mnuHelpHelp.addActionListener(this);
		mnuHelp.setMnemonic('H');
		
		mnuEditInsert.setEnabled(blnnewPanDuan);
		mnuEditDelete.setEnabled(blnnewPanDuan);
		mnuEditModify.setEnabled(blnnewPanDuan);
		
		txaResult = new JTextArea();
		txaResult.setEditable(false);

		pnlInsert = new JPanel();
		pnlInsert.setLayout(new GridLayout(10,2));
		pnlInsert.add(new Label("学    号:"));      pnlInsert.add(txtStuno);
		pnlInsert.add(new Label("姓    名:"));      pnlInsert.add(txtStuname);
		pnlInsert.add(new Label("年    龄:"));      pnlInsert.add(txtStuage);
		pnlInsert.add(new Label("性    别:"));      pnlInsert.add(cbxStusex);
		pnlInsert.add(new Label("政治面貌:"));      pnlInsert.add(cbxStupolitical);
		pnlInsert.add(new Label("籍    贯:"));      pnlInsert.add(txtStuhometown);
		pnlInsert.add(new Label("所 属 系:"));      pnlInsert.add(txtStudept);
		pnlInsert.add(btnquery); pnlInsert.add(btnInsert);pnlInsert.add(btndelete);
		pnlInsert.add(btnmodify);pnlInsert.add(btnreset);pnlInsert.add(btnexit);
    
		JScrollPane pane = new JScrollPane(txaResult);    
		JPanel pnlShow=new JPanel();
		pnlShow.setLayout(new BorderLayout());
		pnlShow.add(pane,BorderLayout.CENTER);
		getContentPane().add(mnuMain,BorderLayout.NORTH);		
		JSplitPane split;
				split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,pnlShow,pnlInsert);
        split.setResizeWeight(1);
		getContentPane().add(split,BorderLayout.CENTER);
		
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent event)
				{
					try
					{
						stmt.close();
						conn.close();
					}

					catch(SQLException e)
					{
						while(e != null)
						{
							e.printStackTrace();
							e=e.getNextException();
						}
					}
				}
			});

		try  //建立数据库连接
		{
			conn = getConnection();
			stmt = conn.createStatement();
		}

		catch(SQLException e)
		{
			while(e != null)
			{
				e.printStackTrace();
				e=e.getNextException();
			}
		}
		catch(IOException e)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -