📄 borrowbook.java
字号:
btn5=new JButton("查询",new ImageIcon("images/findddd.gif"));
Object columnNames[]={"书名","编号","条形码","分类法","作者","类型","价格","出版社名称","书架名称","页码","出版日期","入库日期","库存量","借阅次数","图书状态","操作员","摘要"};
rowData=new Object[100][17];
jta=new JTable(rowData,columnNames);
jta.setRowHeight(20);
jta.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jta.setPreferredScrollableViewportSize(new Dimension(500,30));
jta.setToolTipText("单击选择要借哪本图书,为方便借阅,请您点击条件唯一的单元格!");
jta.setCellSelectionEnabled(true);//使得表格的选取是以cell为单位,而不是以列为单位.若你没有写此行,则在选取表格数
//据时以整列为单位.
selectionMode=jta.getSelectionModel();//取得table的ListSelectionModel.
selectionMode.addListSelectionListener(this);
JScrollPane scrollPane=new JScrollPane(jta,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//--设置各个组件的字体--
lb14.setFont(font1);
lb15.setFont(font1);
jtf13.setFont(font1);
jtf14.setFont(font1);
btn5.setFont(font1);
jta.setFont(font1);
btn5.addActionListener(this);
jtf14.addActionListener(this);
//--设置各个组件的大小和位置--
lb14.setBounds(100,20,80,25);
jtf14.setBounds(185,20,150,25);
lb15.setBounds(100,50,80,25);
jtf13.setBounds(185,50,150,25);
btn5.setBounds(380,25,110,40);
jta.setBounds(10,80,1000,25);
scrollPane.setBounds(10,90,530,200);
//--添加各个组件--
jp3=new JPanel();
jp3.setLayout(null);
jp3.setBorder(BorderFactory.createTitledBorder("选择图书"));
jp3.setBounds(235,50,550,300);
jp3.add(lb14);
jp3.add(jtf14);
jp3.add(lb15);
jp3.add(jtf13);
jp3.add(btn5);
jp3.add(scrollPane);
/*************************************借阅图书界面***************************************************/
//--初始化借阅图书各个组件--
JLabel lb16=new JLabel("借阅数量:");
JLabel lb17=new JLabel("借阅时间:");
JLabel lb18=new JLabel("应还时间:");
JLabel lb19=new JLabel("操作人员:");
jtf15=new JTextField("1");
jtf17=new JTextField();
jtf16=new JTextField();
jtf18=new JTextField();
btn6=new JButton("借书",new ImageIcon("images/finddd.gif"));
Object columnNames1[]={"读者姓名","读者编号","读者条形码","图书名称","图书编号","图书条形码","借阅数量","价格","出版社","存放位置","图书类型","借书日期","应还日期","操作员","续借","是否超期"};
rowData1=new Object[100][16];
jta1=new JTable(rowData1,columnNames1);
jta1.setRowHeight(20);
jta1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jta1.setPreferredScrollableViewportSize(new Dimension(500,30));
JScrollPane scrollPane1=new JScrollPane(jta1,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//--设置各个组件的字体--
lb16.setFont(font1);
lb17.setFont(font1);
lb18.setFont(font1);
lb19.setFont(font1);
jtf15.setFont(font1);
jtf16.setFont(font1);
jtf17.setFont(font1);
jtf18.setFont(font1);
btn6.setFont(font1);
jta1.setFont(font1);
btn6.addActionListener(this);
//--设置组件初始化时不可用--
btn5.setEnabled(false);
btn6.setEnabled(false);
jtf13.setEnabled(false);
jtf14.setEnabled(false);
jtf15.setEnabled(false);
jtf17.setEnabled(false);
jtf16.setEnabled(false);
jtf18.setEnabled(false);
//--设置各个组件的大小和位置--
lb16.setBounds(25,20,80,25);
jtf15.setBounds(100,20,120,25);
lb17.setBounds(235,20,80,25);
jtf16.setBounds(310,20,120,25);
lb18.setBounds(25,50,80,25);
jtf17.setBounds(100,50,120,25);
lb19.setBounds(235,50,80,25);
jtf18.setBounds(310,50,120,25);
btn6.setBounds(440,30,100,40);
jta1.setBounds(10,80,80,25);
scrollPane1.setBounds(10,90,530,165);
//--添加各个组件--
jp4=new JPanel();
jp4.setLayout(null);
jp4.setBorder(BorderFactory.createTitledBorder("已借阅图书信息"));
jp4.setBounds(235,355,550,265);
jp4.add(lb16);
jp4.add(jtf15);
jp4.add(lb17);
jp4.add(jtf16);
jp4.add(lb18);
jp4.add(jtf17);
jp4.add(lb19);
jp4.add(jtf18);
jp4.add(btn6);
jp4.add(scrollPane1);
//--把各个组件添加到窗口中--
content.add(JTB);
content.add(jp1);
content.add(jp2);
content.add(jp3);
content.add(jp4);
frame.setSize(800,658);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{Object obj=e.getSource();
if(obj==btn4)//读者查询按钮
{try{ Query();}
catch(SQLException ed){System.err.println(ed);}
}
if(obj==btn5)//图书查询按钮
{try{ setnull1();}
catch(SQLException ed){System.err.println(ed);}
try{ Query1();}
catch(SQLException ed){System.err.println(ed);}
}
if(obj==btn6)//借书按钮
{try{ Borrow();}
catch(SQLException ed){System.err.println(ed);}
}
if(obj==btn1)//刷新按钮
{jtf1.setText("");jtf2.setText("");jtf3.setText("");jtf4.setText("");jtf5.setText("");jtf6.setText("");
jtf7.setText("");jtf8.setText("");jtf9.setText("");jtf10.setText("");jtf11.setText("");
jtf12.setText("");jtf16.setText("");jtf17.setText("");jtf18.setText("");btn6.setEnabled(false);
lb3.setText(" ");
try{ setnull();}
catch(SQLException ed){System.err.println(ed);}
try{ view();}
catch(SQLException ed){System.err.println(ed);}
try{ setnull1();}
catch(SQLException ed){System.err.println(ed);}
try{ Query1();}
catch(SQLException ed){System.err.println(ed);}
}
if(obj==btn2)//查看已借阅信息按钮
{try{ setnull();}
catch(SQLException ed){System.err.println(ed);}
try{ view();}
catch(SQLException ed){System.err.println(ed);}
try{ Query3();}
catch(SQLException ed){System.err.println(ed);}
}
if(obj==btn3)//退出按钮
{frame.dispose();}
}
//单击表格选中您要借的书功能代码////////////////////////////////////////////////////////////////////////////
public void valueChanged(ListSelectionEvent el){
tempString="";
//JTable的getSelectedRows()与getSelectedColumns()方法会返回已选取表格cell的index Array数据.
int[] rows=jta.getSelectedRows();
int[] columns=jta.getSelectedColumns();
//JTable的getValueAt()方法会返回某行的cell数据,返回值是Object数据类型,因此我们要自行转成String数据类型.
for (int i=0;i<rows.length;i++){
for (int j=0;j<columns.length;j++)
tempString = tempString+(String)jta.getValueAt(rows[i], columns[j]);
}
try{ Update1();}
catch(SQLException ed){}
}
public void Update1() throws SQLException
{
String strurl=
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch (ClassNotFoundException eg) {}
con= DriverManager.getConnection(strurl);
stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("select * from 图书资料");
while(rs.next())
{tsmc=rs.getString("图书名称");bh=rs.getString("编号");txm=rs.getString("条形码");
flf=rs.getString("分类法");zz=rs.getString("作者");lx=rs.getString("类型");
jg=String.valueOf(rs.getInt("价格"));cbs=rs.getString("出版社");ym=rs.getString("页码");
sjmc=rs.getString("书架名称");cbrq=rs.getString("出版日期");rkrq=rs.getString("入库日期");
kcl=String.valueOf(rs.getInt("库存量"));jycs=String.valueOf(rs.getInt("借阅次数"));tszt=rs.getString("图书状态");
czy=rs.getString("操作员");zy=rs.getString("摘要");
if(bh.equals(tempString)||txm.equals(tempString))
{code=bh;tiaoma=txm;name=tsmc;bookstatus=tszt;
bookprice=jg;bookpress=cbs;bookstock=sjmc;bookfenlei=flf;
lb3.setText("您要借的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
lb3.setToolTipText("您要借的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
}
}
con.close();
}
//查询读者资料代码///////////////////////////////////////////////////////////////////////////////////////////
public void Query() throws SQLException
{
String dzxm,dzbh,txm,xb,sf,yxzj,zjhm,zcrq,zxrq,csrq,lxdh,lxdz,dzzt,kjsl,zcqx,jycs,czy,bz;
String strurl=
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch (ClassNotFoundException eg) {}
con= DriverManager.getConnection(strurl);
stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("select * from 读者资料");
while(rs.next())
{ dzxm=rs.getString("读者姓名");dzbh=rs.getString("读者编号");txm=rs.getString("条形码");
xb=rs.getString("性别");sf=rs.getString("身份");yxzj=rs.getString("有效证件");zjhm=rs.getString("证件号码");
zcrq=rs.getString("注册日期");zxrq=rs.getString("截止日期");csrq=rs.getString("出生日期");
lxdh=rs.getString("联系电话");lxdz=rs.getString("联系地址");dzzt=rs.getString("读者状态");
kjsl=String.valueOf(rs.getInt("可借数量"));zcqx=String.valueOf(rs.getInt("最长期限"));jycs=String.valueOf(rs.getInt("借阅次数"));czy=rs.getString("操作员");bz=rs.getString("备注");
if(jrb1.isSelected())//按读者编号
{
if(dzbh.equals(jtf1.getText()))
{jtf2.setText(dzxm);jtf3.setText(xb);jtf4.setText(sf);jtf5.setText(dzbh);jtf6.setText(txm);jtf7.setText(kjsl);
jtf8.setText(yxzj);jtf9.setText(zjhm);jtf10.setText(lxdh);jtf11.setText(lxdz);jtf12.setText(zcrq);
try{ setnull1();}
catch(SQLException ed){System.err.println(ed);}
try{ Query2();}
catch(SQLException ed){System.err.println(ed);}
try{ setnull();}
catch(SQLException ed){System.err.println(ed);}
try{ view();}
catch(SQLException ed){System.err.println(ed);}
try{ Query3();}
catch(SQLException ed){System.err.println(ed);}
lb3.setText("该读者总共可借"+kjsl+"本,最长期限为"+zcqx+"天,现已借"+String.valueOf(readerc)+"本!");
lb3.setToolTipText("该读者总共可借"+kjsl+"本,最长期限为"+zcqx+"天,现已借"+String.valueOf(readerc)+"本!");
}
}
if(jrb2.isSelected())//按条形码
{
if(txm.equals(jtf1.getText()))
{ jtf2.setText(dzxm);jtf3.setText(xb);jtf4.setText(sf);jtf5.setText(dzbh);jtf6.setText(txm);jtf7.setText(kjsl);
jtf8.setText(yxzj);jtf9.setText(zjhm);jtf10.setText(lxdh);jtf11.setText(lxdz);jtf12.setText(zcrq);
try{ setnull1();}
catch(SQLException ed){System.err.println(ed);}
try{ Query2();}
catch(SQLException ed){System.err.println(ed);}
try{ setnull();}
catch(SQLException ed){System.err.println(ed);}
try{ view();}
catch(SQLException ed){System.err.println(ed);}
try{ Query3();}
catch(SQLException ed){System.err.println(ed);}
lb3.setText("该读者总共可借"+kjsl+"本,最长期限为"+zcqx+"天,现已借"+String.valueOf(readerc)+"本!");
lb3.setToolTipText("该读者总共可借"+kjsl+"本,最长期限为"+zcqx+"天,现已借"+String.valueOf(readerc)+"本!");
}
}
if(jrb3.isSelected())//按读者姓名
{
if(dzxm.equals(jtf1.getText()))
{ jtf2.setText(dzxm);jtf3.setText(xb);jtf4.setText(sf);jtf5.setText(dzbh);jtf6.setText(txm);jtf7.setText(kjsl);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -