📄 tidybookorreaderframe.java
字号:
//整理图书和读者窗口
import javax.swing.*;
import java.applet.*;
import java.net.URL;
import java.sql.*;
import java.awt.event.*;
import java.awt.*;
public class TidyBookOrReaderFrame extends JFrame implements ActionListener,ItemListener{
static final long serialVersionUID=80;
ButtonGroup group;
JTextField search;
JButton searchbutton,changebutton,delbutton,printbutton;
Checkbox darkbox;
JTable table,booktable;
JScrollPane scroll,bookscroll;
JLabel label1,label2;
Container container;
JProgressBar progress,progress2;
JPopupMenu popup;
JMenuItem changemenu,delmenu;
boolean dark=false,bookread=false,button;
JRadioButton radio[];
int n=-1,z=0,q=0;
PrintJob printjob;
Graphics graphics;
AudioClip audio;
URL audiourl;
Dimension screenSize;
Toolkit tool;
MyThread thread;
Connection con;
Statement sql;
Object[][] result,bookresult;
String purview,tablename,message,rowname,warn;
String keyname[];
String keytemp1[]={"BookId","BookName","BookPublish","BookType","BookAuthor"};
String keytemp2[]={"ReaderCardID","Name","Sex","ReaderType"};
String radiotemp1[]={"书号","书名","出版社","类型","作者"};
String radiotemp2[]={"卡号","姓名","性别","类型"};
String columtemp2[]={"卡号","姓名","性别","登记日期","类型","电话","地址","已借书数量"};
String columtemp1[]={"书号","书名","出版社","作者","图书类型","价格","总数量","借出数量","库存数量"};
Object[] columnName;
Object[] bookcolumn={"书号","书名","出版社","作者","图书类型","价格","总数量","借出数量"};
String[] radioname;
Image myimage;
PopupListener pl;
TidyBookOrReaderFrame(String title,Connection con,String purview,boolean book)throws InterruptedException{
super(title);
this.con=con;
bookread=book;
this.purview=purview;
tool=getToolkit();
URL url = getClass().getResource("/images/tidy.GIF");
if(url!=null){
myimage=tool.getImage(url);
setIconImage(myimage);
}
screenSize=tool.getScreenSize();
container=getContentPane();
container.setBackground(Color.ORANGE);
container.setLayout(null);
setResizable(false);
if(bookread){
radio=new JRadioButton[5];
keyname=new String[5];
for(int i=0;i<5;i++){
keyname[i]=keytemp1[i];
}
columnName=new Object[9];
for(int i=0;i<9;i++){
columnName[i]=columtemp1[i];
}
radioname=new String[5];
for(int i=0;i<5;i++){
radioname[i]=radiotemp1[i];
}
z=5;
q=9;
tablename="Book_Info";
message="本图书信息";
warn="不能删除此书,有读者借了还未还";
rowname="BookId";
setSize(607,305);
}
else{
radio=new JRadioButton[4];
keyname=new String[4];
for(int i=0;i<4;i++){
keyname[i]=keytemp2[i];
}
columnName=new Object[8];
for(int i=0;i<8;i++){
columnName[i]=columtemp2[i];
}
radioname=new String[4];
for(int i=0;i<4;i++){
radioname[i]=radiotemp2[i];
}
bookresult=new Object[10][8];
booktable=new JTable(bookresult,bookcolumn);
bookscroll=new JScrollPane(booktable);
z=4;
q=8;
tablename="Reader_Info";
message="个读者信息";
warn="不能删除此读者,有书还未还";
rowname="ReaderCardID";
setSize(607,489);
}
changemenu=new JMenuItem("修改");
changemenu.setIcon(new ImageIcon(getClass().getResource("/images/icon/change.png")));
changemenu.addActionListener(this);
delmenu=new JMenuItem("删除");
delmenu.setIcon(new ImageIcon(getClass().getResource("/images/icon/delete.png")));
delmenu.addActionListener(this);
popup=new JPopupMenu();
popup.add(changemenu);
popup.addSeparator();
popup.add(delmenu);
result=new Object[10][q];
group=new ButtonGroup();
search=new JTextField(10);
searchbutton=new JButton("查询");
changebutton=new JButton("修改");
delbutton=new JButton("删除");
printbutton=new JButton("打印");
searchbutton.addActionListener(this);
changebutton.addActionListener(this);
printbutton.addActionListener(this);
delbutton.addActionListener(this);
darkbox=new Checkbox("模糊查询");
darkbox.addItemListener(this);
table=new JTable(result,columnName);
pl = new PopupListener(popup);
table.addMouseListener(pl);
scroll=new JScrollPane(table);
progress=new JProgressBar(JProgressBar.HORIZONTAL,0,50);
progress.setStringPainted(true);
progress2=new JProgressBar(JProgressBar.HORIZONTAL,0,20);
progress2.setStringPainted(true);
label1=new JLabel("选择关键字的类型:");
label2=new JLabel("关键字:");
container.add(label1);
label1.setBounds(80,0,120,25);
for(int i=0;i<z;i++){
radio[i]=new JRadioButton(radioname[i]);
radio[i].addItemListener(this);
radio[i].setBackground(Color.ORANGE);
group.add(radio[i]);
container.add(radio[i]);
radio[i].setBounds(200+70*i,0,70,25);
}
container.add(label2);
label2.setBounds(10,35,45,30);
container.add(search);
search.setBounds(60,40,120,20);
container.add(searchbutton);
searchbutton.setBounds(190,37,80,24);
container.add(darkbox);
darkbox.setBounds(285,35,75,30);
container.add(changebutton);
changebutton.setBounds(370,35,65,30);
container.add(delbutton);
delbutton.setBounds(445,35,65,30);
container.add(printbutton);
printbutton.setBounds(520,35,65,30);
container.add(scroll);
scroll.setBounds(0,80,600,180);
container.add(progress);
progress.setBounds(0,255,600,25);
if(!book){
container.add(bookscroll);
bookscroll.setBounds(0,280,600,160);
container.add(progress2);
progress2.setBounds(0,440,600,25);
thread=new MyThread();
thread.setPriority(6);
thread.start();
}
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
if(sql!=null){
try{
sql.close();
}
catch(SQLException e2){
System.out.println("计算机已与服务器断开");
}
}
if(!bookread){
thread.interrupt();
}
dispose();
}
});
setLocation((screenSize.width-getSize().width)/2,(screenSize.height-getSize().height)*2/3);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e){
if(sql==null){
try{
sql=con.createStatement();
}
catch(SQLException e1){
JOptionPane.showMessageDialog(this,"计算机已与服务器断开");
}
}
if(e.getSource()==searchbutton){
button=true;
String s=search.getText();
String t="'"+s+"'";
String queue;
if(!bookread){
resetbooktable();
booktable.repaint();
}
resettable();
table.repaint();
if(n!=-1&s.length()!=0){
if(dark){
queue="SELECT * FROM "+tablename+" WHERE "+keyname[n]+" LIKE "+"'%"+s+"%'";
search(queue);
}
else{
queue="SELECT * FROM "+tablename+" WHERE "+keyname[n]+" = "+t;
search(queue);
}
}
if(n==-1){
JOptionPane.showMessageDialog(this,"请选择关键字的类型!","警告对话框",JOptionPane.WARNING_MESSAGE);
}
if(s.length()==0){
JOptionPane.showMessageDialog(this,"查询的关键字不能为空","警告对话框",JOptionPane.WARNING_MESSAGE);
}
}
else if(e.getSource()==delbutton||e.getSource()==delmenu){
if(bookread){
if(purview.equals("Common")||purview.equals("Borrow")){
JOptionPane.showMessageDialog(this,"你没有权限使用删除图书信息功能!","警告对话框",JOptionPane.WARNING_MESSAGE);
return;
}
}
else{
if(purview.equals("Common")||purview.equals("Book")){
JOptionPane.showMessageDialog(this,"你没有权限使用删除读者信息功能!","警告对话框",JOptionPane.WARNING_MESSAGE);
return;
}
}
int[] returnrow;
int g=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -