?? studentdb.java.bak
字號:
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 + -