📄 rborrowbook.java
字号:
jp2.add(jtf11);
jp2.add(lb13);
jp2.add(jtf12);
/*************************************选择要续借的图书界面***************************************************/
//--初始化选择图书各个组件--
Object columnNames[]={"读者姓名","读者编号","读者条形码","图书名称","图书编号","图书条形码","借阅数量","价格","出版社","存放位置","图书类型","借书日期","应还日期","操作员","续借","是否超期"};
rowData=new Object[100][16];
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);
//--设置各个组件的字体--
jta.setFont(font1);
//--设置各个组件的大小和位置--
jta.setBounds(10,20,1000,25);
scrollPane.setBounds(10,20,530,230);
//--添加各个组件--
jp3=new JPanel();
jp3.setLayout(null);
jp3.setBorder(BorderFactory.createTitledBorder("选择所要续借的图书"));
jp3.setBounds(235,50,550,260);
jp3.add(scrollPane);
/*************************************续借图书界面***************************************************/
//--初始化借阅图书各个组件--
lb16=new JLabel("续借数量:");
lb17=new JLabel("上次借阅时间:");
lb18=new JLabel("本次续借时间:");
lb19=new JLabel("下次归还时间:");
lb20=new JLabel("是否超期:");
lb21=new JLabel("操作人员:");
bg1=new ButtonGroup();
jrb4=new JRadioButton("是");
bg1.add(jrb4);
jrb5=new JRadioButton("否");
bg1.add(jrb5);
jrb4.setEnabled(false);
jrb5.setEnabled(false);
jtf15=new JTextField("1");
jtf17=new JTextField();
jtf16=new JTextField();
jtf18=new JTextField();
jtf19=new JTextField();
btn6=new JButton("续借",new ImageIcon("images/finddd.gif"));
Object columnNames1[]={"读者姓名","读者编号","读者条形码","图书名称","图书编号","图书条形码","续借数量","图书价格","出版社","存放位置","图书类型","上次借阅时间","本次续借时间","下次归还时间","操作员","续借次数","是否超期"};
rowData1=new Object[100][17];
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);
lb20.setFont(font1);
lb21.setFont(font1);
jtf15.setFont(font1);
jtf16.setFont(font1);
jtf17.setFont(font1);
jtf18.setFont(font1);
jtf19.setFont(font1);
jrb4.setFont(font1);
jrb5.setFont(font1);
btn6.setFont(font1);
jta1.setFont(font1);
btn6.addActionListener(this);
btn6.setEnabled(false);
jtf15.setEnabled(false);
jtf16.setEnabled(false);
jtf17.setEnabled(false);
jtf18.setEnabled(false);
jtf19.setEnabled(false);
//--设置各个组件的大小和位置--
lb17.setBounds(20,20,100,25);
jtf16.setBounds(125,20,100,25);
lb16.setBounds(250,20,80,25);
jtf15.setBounds(320,20,100,25);
lb18.setBounds(20,50,100,25);
jtf17.setBounds(125,50,100,25);
lb20.setBounds(250,50,80,25);
jrb4.setBounds(320,50,40,25);
jrb5.setBounds(380,50,40,25);
lb19.setBounds(20,80,100,25);
jtf18.setBounds(125,80,100,25);
lb21.setBounds(250,80,80,25);
jtf19.setBounds(320,80,100,25);
btn6.setBounds(440,45,100,40);
jta1.setBounds(10,80,80,25);
scrollPane1.setBounds(10,120,530,175);
//--添加各个组件--
jp4=new JPanel();
jp4.setLayout(null);
jp4.setBorder(BorderFactory.createTitledBorder("续借图书信息"));
jp4.setBounds(235,315,550,305);
jp4.add(lb17);
jp4.add(jtf16);
jp4.add(lb16);
jp4.add(jtf15);
jp4.add(lb18);
jp4.add(jtf17);
jp4.add(lb20);
jp4.add(jrb4);
jp4.add(jrb5);
jp4.add(lb19);
jp4.add(jtf18);
jp4.add(lb21);
jp4.add(jtf19);
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{ Chaoqi1();}
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("");jtf19.setText("");btn6.setEnabled(false);
}
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 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=String.valueOf(rs.getInt("借阅数量"));
zcrq=String.valueOf(rs.getInt("图书价格"));zxrq=rs.getString("出版社");csrq=rs.getString("存放位置");
lxdh=rs.getString("图书类型");lxdz=rs.getString("借书日期");dzzt=rs.getString("应还日期");
zcqx=rs.getString("操作员");jycs=rs.getString("续借");czy=rs.getString("是否超期");
if(dzbh.equals(tempString)||txm.equals(tempString)||sf.equals(tempString)||yxzj.equals(tempString))
{code=sf;tiaoma=yxzj;name=xb;jtf16.setText(lxdz);
bookprice=zcrq;bookpress=zxrq;bookstock=csrq;bookfenlei=lxdh;bookdate=dzzt;bookstatus=jycs;
lb3.setText("您要续借的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
lb3.setToolTipText("您要续借的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
calendar=Calendar.getInstance();
calendar.setTime(new Date());
int year=calendar.get(Calendar.YEAR),
month=calendar.get(Calendar.MONTH)+1,
day=calendar.get(Calendar.DAY_OF_MONTH);
String substr=bookdate.substring(0,4),
substr1=bookdate.substring(5,7),
substr2=bookdate.substring(8,10);
calendar.set(Integer.parseInt(substr),Integer.parseInt(substr1)-1,Integer.parseInt(substr2));
long time1=calendar.getTimeInMillis();
calendar.set(year,month-1,day);
long time2=calendar.getTimeInMillis();
long days=(time2-time1)/(1000*60*60*24);
if(days>Integer.parseInt(rzcqx))
{jrb4.setSelected(true);
try{ Chaoqi();}
catch(SQLException ed){System.err.println(ed);}
try{ Chaoqi2();}
catch(SQLException ed){System.err.println(ed);}
try{ Chaoqi3();}
catch(SQLException ed){System.err.println(ed);}
try{ setnull1();}
catch(SQLException ed){System.err.println(ed);}
try{ setnull();}
catch(SQLException ed){System.err.println(ed);}
JOptionPane.showMessageDialog(null, "该读者所续借此书已超期,请交付罚金并归还该书后再借!", "友情提示",
JOptionPane.WARNING_MESSAGE);
lb3.setText("该读者所续借此书已超期,请交付罚金并归还该书后再借!");
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("");jtf19.setText("");btn6.setEnabled(false);
jtf17.setEnabled(false);jtf18.setEnabled(false);jtf19.setEnabled(false);
}
else
{jrb5.setSelected(true);btn6.setEnabled(true);
jtf17.setEnabled(true);jtf18.setEnabled(true);jtf19.setEnabled(true);
}
}
}
con.close();
}
//设置借书统计中该书为超期///////////////////////////////////////////////////////////////////////////////////////////
public void Chaoqi2() throws SQLException
{ String chaoqi="是";
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=String.valueOf(rs.getInt("借阅数量"));
zcrq=String.valueOf(rs.getInt("图书价格"));zxrq=rs.getString("出版社");csrq=rs.getString("存放位置");
lxdh=rs.getString("图书类型");lxdz=rs.getString("借书日期");dzzt=rs.getString("应还日期");
zcqx=rs.getString("操作员");jycs=rs.getString("续借");czy=rs.getString("是否超期");
stmt.executeUpdate("update 借书统计 set 是否超期='"+chaoqi+"'where 图书编号='"+code+"'");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -