📄 createframes.java
字号:
package DBlab;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class CreateFrames {
public static int equal(String s){
if (s == "全部图书信息") return 0;
if (s == "超期图书信息") return 1;
if (s == "图书信息") return 2;
if (s == "已借图书") return 3;
if (s == "归还图书") return 4;
if (s == "续借图书") return 5;
if (s == "图书借阅") return 6;
else return 7;
}
private static void selectbookinfo (Frame frame, JComboBox jcomb, JTextField jtf){
String current = jcomb.getSelectedItem().toString();
if (current.compareTo("")==0)
JOptionPane.showConfirmDialog(frame, "请选择查找类型", "Error",2,1);
else{
String keyword = jtf.getText().trim();
if (keyword.compareTo("")==0)
JOptionPane.showConfirmDialog(frame, "请填写关键字", "Error",2,1);
else if (current=="书名关键字")
DBSQL.bookinfo(keyword, 0);
else if (current=="作者")
DBSQL.bookinfo(keyword, 1);
else
JOptionPane.showConfirmDialog(frame, "请选择查找类型", "Error",2,1);
}
}
private static void borrowbook (String id, Frame frame, JTextField jtf){
String ISBN = jtf.getText();
if (ISBN.compareTo("")==0)
JOptionPane.showConfirmDialog(frame, "请输入ISBN", "Error",2,1);
else if (!DBSQL.borrowbook(id, ISBN))
JOptionPane.showConfirmDialog(frame, "借阅图书错误,请核实后重新操作", "ERROR",2,1);
else
JOptionPane.showMessageDialog(frame, "借阅图书成功", "借阅成功",JOptionPane.INFORMATION_MESSAGE);
}
private static void renew (String id, Frame frame, JTextField jtf){
String ISBN = jtf.getText();
if (ISBN.compareTo("")==0)
JOptionPane.showConfirmDialog(frame, "请输入ISBN", "Error",2,1);
else if (!DBSQL.renew(id, ISBN))
JOptionPane.showConfirmDialog(frame, "续借图书错误,请核实后重新操作", "ERROR",2,1);
else
JOptionPane.showMessageDialog(frame, "续借图书成功", "续借成功",JOptionPane.INFORMATION_MESSAGE);
}
private static void returnbook (String id, Frame frame, JTextField jtf){
String ISBN = jtf.getText();
if (ISBN.compareTo("")==0)
JOptionPane.showConfirmDialog(frame, "请输入ISBN", "Error",2,1);
else {
int punish = DBSQL.returnbook(id, ISBN);
if (punish == -1){
JOptionPane.showConfirmDialog(frame, "归还图书错误,请核实ISBN后重新操作", "Error",2,1);
return;
}
if (punish != 0)
JOptionPane.showConfirmDialog(frame, "还书成功,请尽快交清罚款"+Integer.toString(punish)+"元!", "罚款",2,1);
else
JOptionPane.showMessageDialog(frame, "还书成功", "还书成功",JOptionPane.INFORMATION_MESSAGE);
}
}
private static void overtime (Frame frame, JTextField jtf){
String number = jtf.getText();
if (number.compareTo("")==0)
JOptionPane.showConfirmDialog(frame, "请输入超期天数", "Error",2,1);
else if (DBSQL.overtime(Integer.parseInt(number)) == 0)
JOptionPane.showConfirmDialog(frame, "无超期"+number+"天以上图书", "ERROR",2,1);
}
public static void CreatMajorFrame (final String id) {
final JFrame MajorFrame = new JFrame ("majorframe");
MajorFrame.setSize (400,300);
MajorFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
int x = (screenWidth - MajorFrame.getWidth())/2;
int y = (screenHeight - MajorFrame.getHeight())/2;
MajorFrame.setLocation (x,y);
MajorFrame.setVisible (true);
String name , department , major , title, identity ;
name = DBSQL.userinfo( id, "UNAME" );
department = DBSQL.userinfo( id, "DEPARTMENT" );
major = DBSQL.userinfo( id, "SUBJECT" );
title = DBSQL.userinfo( id, "TITLE" );
identity = DBSQL.userinfo( id, "IDENTITY" );
Container majorframecon = MajorFrame.getContentPane();
MajorFrame.setLayout(new BorderLayout());
majorframecon.add(new JLabel("欢迎使用图书信息管理系统!") , BorderLayout.NORTH);
final JPanel p1 = new JPanel ();
p1.setLayout(new GridLayout(7,1));
p1.add(new JLabel ("用户信息"), BorderLayout.CENTER);
if (identity.compareToIgnoreCase("s")==0){
JLabel ID = new JLabel ("学号 : " + id);
JLabel NAME = new JLabel ("姓名 : " + name);
JLabel DEPARTMENT = new JLabel ("院系 : " + department);
JLabel MAJOR = new JLabel ("专业 : " + major);
p1.add(ID, BorderLayout.CENTER);
p1.add(NAME, BorderLayout.CENTER);
p1.add(DEPARTMENT, BorderLayout.CENTER);
p1.add(MAJOR, BorderLayout.CENTER);
}
else if (identity.compareToIgnoreCase("t")==0){
JLabel ID = new JLabel ("工号 : " + id);
JLabel NAME = new JLabel ("姓名 : " + name);
JLabel DEPARTMENT = new JLabel ("院系 : " + department);
JLabel MAJOR = new JLabel ("实验室 : " + major);
JLabel TITLE = new JLabel ("职称: " + title);
p1.add(ID, BorderLayout.CENTER);
p1.add(NAME, BorderLayout.CENTER);
p1.add(DEPARTMENT, BorderLayout.CENTER);
p1.add(MAJOR, BorderLayout.CENTER);
p1.add(TITLE, BorderLayout.CENTER);
}
else {
JLabel ID = new JLabel ("管理帐号 : " + id);
JLabel NAME = new JLabel ("图书馆");
p1.add(NAME, BorderLayout.CENTER);
p1.add(ID, BorderLayout.CENTER);
}
final JPanel p2 = new JPanel ();
JButton jbtSelect = new JButton("确定");
p2.add( new JLabel("查询管理功能"),BorderLayout.NORTH );
final JComboBox jcombSelect;
final JTextField jtf = new JTextField();
final JPanel p4 = new JPanel ();
p4.setLayout(new GridLayout(2,1));
p4.add(new JLabel ("关键字输入"));
p4.add(jtf);
if (identity.compareToIgnoreCase("a")== 0){
jcombSelect = new JComboBox(new String[]{"全部图书信息","超期图书信息"});
p2.add(jcombSelect, BorderLayout.CENTER);
p2.add(jbtSelect,BorderLayout.EAST);
}
else {
jcombSelect = new JComboBox(new String[]{"图书信息","已借图书","归还图书","续借图书","图书借阅"});
p2.add(jcombSelect, BorderLayout.CENTER);
p2.add(jbtSelect,BorderLayout.EAST);
}
JPanel p3 = new JPanel ();
p3.setLayout(new GridLayout (6,1));
p3.add(p2);
p3.add(p4);
majorframecon.add(p1,BorderLayout.WEST);
majorframecon.add(p3);
final JComboBox jcomb = new JComboBox (new String[] {"","书名关键字","作者"});
p4.add(new JLabel ("图书查询"));
p4.add(jcomb);
jbtSelect.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
switch (equal(jcombSelect.getSelectedItem().toString())){
case 0: DBSQL.allbookinfo(); break;
case 1: overtime(MajorFrame,jtf); break;
case 2: selectbookinfo(MajorFrame,jcomb,jtf); break;
case 3: DBSQL.userborrowed(id); break;
case 4: returnbook(id,MajorFrame,jtf) ; break;
case 5: renew(id,MajorFrame,jtf); break;
case 6: borrowbook(id,MajorFrame,jtf);
default: break;
}
}
});
};
public static void LoginFrame(){
final JFrame frame = new JFrame ("Login in");
GridBagConstraints GridBag;
int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
double weightx,weighty;
Insets inset;
GridBagLayout gridbag=new GridBagLayout();
Container contentPane=frame.getContentPane();
contentPane.setLayout(gridbag);
JLabel jlbID = new JLabel ("ID");
gridx=1;
gridy=120;
gridwidth=1;
gridheight=1;
weightx=10;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.HORIZONTAL;
inset=new Insets(0,60,0,20);
ipadx=0;
ipady=0;
GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(jlbID,GridBag);
contentPane.add(jlbID);
final JTextField jtfID = new JTextField ("");
gridx=GridBagConstraints.RELATIVE;
gridy=120;
gridwidth=2;
gridheight=1;
inset=new Insets(0,-60,0,30);
GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(jtfID,GridBag);
contentPane.add(jtfID);
JLabel jlbPW = new JLabel ("Password ");
gridx=1;
gridy=150;
gridwidth=1;
gridheight=1;
inset=new Insets(0,40,0,20);
GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(jlbPW,GridBag);
contentPane.add(jlbPW);
final JPasswordField jtfPW = new JPasswordField ("");
gridx=GridBagConstraints.RELATIVE;
gridy=150;
gridwidth=2;
gridheight=1;
inset=new Insets(0,-60,0,30);
GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(jtfPW,GridBag);
contentPane.add(jtfPW);
JButton jbtOK = new JButton ("登陆");
gridx=1;
gridy=250;
gridwidth=1;
gridheight=1;
inset=new Insets(0,40,0,50);
GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(jbtOK,GridBag);
contentPane.add(jbtOK);
JButton jbtCancel = new JButton ("取消");
gridx=GridBagConstraints.RELATIVE;
inset=new Insets(0,0,0,40);
GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(jbtCancel,GridBag);
contentPane.add(jbtCancel);
frame.setSize (300,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
int x = (screenWidth - frame.getWidth())/2;
int y = (screenHeight - frame.getHeight())/2;
frame.setLocation (x,y);
frame.setVisible (true);
jbtCancel.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
System.exit(0);
}
});
jbtOK.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
String usrid = jtfID.getText();
String password = new String ( jtfPW.getPassword());
if ( !(DBSQL.loginin(usrid, password)) ){
JOptionPane.showConfirmDialog(frame, "用户名或密码错误!", "Login Error",2,1);
return ;
}
frame.dispose();
CreateFrames.CreatMajorFrame(usrid);
}
});
jtfPW.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
String usrid = jtfID.getText();
String password = new String ( jtfPW.getPassword());
if ( !(DBSQL.loginin(usrid, password)) ){
JOptionPane.showConfirmDialog(frame, "用户名或密码错误!", "Login Error",2,1);
return ;
}
frame.dispose();
CreateFrames.CreatMajorFrame(usrid);
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -