📄 guashibook.java
字号:
selectionMode2.addListSelectionListener(this);
JScrollPane scrollPane2=new JScrollPane(jta2,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//--设置各个组件的字体--
jta2.setFont(font1);
//--设置各个组件的大小和位置--
jta2.setBounds(10,20,1000,25);
scrollPane2.setBounds(10,20,530,100);
//--添加各个组件--
jp5=new JPanel();
jp5.setLayout(null);
jp5.setBorder(BorderFactory.createTitledBorder("续借图书信息"));
jp5.setBounds(235,180,550,130);
jp5.add(scrollPane2);
/*************************************挂失图书信息界面***************************************************/
//--初始化借阅图书各个组件--
lb16=new JLabel("丢失数量:");
lb17=new JLabel("丢失时间:");
lb18=new JLabel("是否超期:");
lb19=new JLabel("超期天数:");
lb24=new JLabel("天");
lb20=new JLabel("每日罚金:");
lb25=new JLabel("元");
lb21=new JLabel("罚款总计:");
lb26=new JLabel("元");
lb22=new JLabel("赔偿总额:");
lb27=new JLabel("元");
lb23=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("yyyy-mm-dd");
jtf18=new JTextField();
jtf19=new JTextField();
jtf20=new JTextField();
jtf21=new JTextField();
jtf15.setEnabled(false);
jtf17.setEnabled(false);
jtf18.setEnabled(false);
jtf19.setEnabled(false);
jtf16.setEnabled(false);
jtf20.setEnabled(false);
jtf21.setEnabled(false);
btn5=new JButton("交付罚金",new ImageIcon("images/delete.gif"));
btn6=new JButton("图书挂失",new ImageIcon("images/finddd.gif"));
Object columnNames1[]={"图书编号","图书条形码","图书名称","读者编号","读者条形码","读者姓名","丢失数量","丢失时间","是否超期","超期天数","每日罚金","罚款总计","赔偿金额","操作员"};
rowData1=new Object[100][14];
jta1=new JTable(rowData1,columnNames1);
jta1.setRowHeight(20);
jta1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jta1.setPreferredScrollableViewportSize(new Dimension(1000,30));
JScrollPane scrollPane1=new JScrollPane(jta1,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane1.setPreferredSize(new Dimension(1000,250));
//--设置各个组件的字体--
lb16.setFont(font1);
lb17.setFont(font1);
lb18.setFont(font1);
lb19.setFont(font1);
lb20.setFont(font1);
lb21.setFont(font1);
lb22.setFont(font1);
lb23.setFont(font1);
lb24.setFont(font1);
lb25.setFont(font1);
lb26.setFont(font1);
lb27.setFont(font1);
jtf15.setFont(font1);
jtf16.setFont(font1);
jtf17.setFont(font1);
jtf18.setFont(font1);
jtf19.setFont(font1);
jtf20.setFont(font1);
jtf21.setFont(font1);
jrb4.setFont(font1);
jrb5.setFont(font1);
btn6.setFont(font1);
btn5.setFont(font1);
jrb4.addActionListener(this);jrb5.addActionListener(this);
btn6.addActionListener(this);
btn6.setEnabled(false);
btn5.addActionListener(this);
btn5.setEnabled(false);
jtf15.setEnabled(false);
//--设置各个组件的大小和位置--
lb16.setBounds(20,22,80,25);
jtf15.setBounds(90,22,100,25);
lb17.setBounds(220,22,80,25);
jtf16.setBounds(290,22,100,25);
lb18.setBounds(20,52,80,25);
jrb4.setBounds(90,52,40,25);
jrb5.setBounds(140,52,40,25);
lb19.setBounds(220,52,80,25);
jtf17.setBounds(290,52,100,25);
lb24.setBounds(395,52,30,25);
lb20.setBounds(20,80,82,25);
jtf18.setBounds(90,82,100,25);
lb25.setBounds(195,82,30,25);
lb21.setBounds(220,82,80,25);
jtf19.setBounds(290,82,100,25);
lb26.setBounds(395,82,30,25);
lb22.setBounds(20,112,80,25);
jtf20.setBounds(90,112,100,25);
lb27.setBounds(195,112,30,25);
lb23.setBounds(220,112,80,25);
jtf21.setBounds(290,112,100,25);
btn5.setBounds(413,30,130,40);
btn6.setBounds(413,90,130,40);
scrollPane1.setBounds(10,150,530,150);
//--添加各个组件--
jp4=new JPanel();
jp4.setLayout(null);
jp4.setBorder(BorderFactory.createTitledBorder("挂失图书办理"));
jp4.setBounds(235,310,550,310);
jp4.add(lb16);
jp4.add(jtf15);
jp4.add(lb17);
jp4.add(jtf16);
jp4.add(lb18);
jp4.add(jrb4);
jp4.add(jrb5);
jp4.add(lb19);
jp4.add(jtf17);
jp4.add(lb24);
jp4.add(lb20);
jp4.add(jtf18);
jp4.add(lb25);
jp4.add(lb21);
jp4.add(jtf19);
jp4.add(lb26);
jp4.add(lb22);
jp4.add(jtf20);
jp4.add(lb27);
jp4.add(lb23);
jp4.add(jtf21);
jp4.add(btn5);
jp4.add(btn6);
jp4.add(scrollPane1);
//--把各个组件添加到窗口中--
content.add(JTB);
content.add(jp1);
content.add(jp2);
content.add(jp3);
content.add(jp5);
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==btn5)//交付罚款按钮
{try{ Jiaofu();}
catch(SQLException ed){System.err.println(ed);}
}
if(obj==btn6)//图书挂失按钮
{try{ UpdateBS();}
catch(SQLException ed){System.err.println(ed);}
try{ UpdateBS1();}
catch(SQLException ed){System.err.println(ed);}
try{ UpdateBS2();}
catch(SQLException ed){System.err.println(ed);}
try{ Borrowed();}
catch(SQLException ed){System.err.println(ed);}
int m=JOptionPane.showConfirmDialog(this,"继续为该读者挂失图书吗?","确认对话框",JOptionPane.YES_NO_OPTION);
if(m==JOptionPane.YES_OPTION)
{try{ setnull();}
catch(SQLException ed){System.err.println(ed);}
try{ setnull1();}
catch(SQLException ed){System.err.println(ed);}
try{ view();}
catch(SQLException ed){System.err.println(ed);}
try{ view1();}
catch(SQLException ed){System.err.println(ed);}
}
else if(m==JOptionPane.NO_OPTION)
{try{ setnull();}
catch(SQLException ed){System.err.println(ed);}
try{ setnull1();}
catch(SQLException ed){System.err.println(ed);}
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("");jtf20.setText("");jtf21.setText("");btn5.setEnabled(false);btn6.setEnabled(false);
}
}
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("");jtf20.setText("");jtf21.setText("");btn5.setEnabled(false);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){}
tempString1="";
//JTable的getSelectedRows()与getSelectedColumns()方法会返回已选取表格cell的index Array数据.
int[] rows1=jta2.getSelectedRows();
int[] columns1=jta2.getSelectedColumns();
//JTable的getValueAt()方法会返回某行的cell数据,返回值是Object数据类型,因此我们要自行转成String数据类型.
for (int a=0;a<rows1.length;a++){
for (int b=0;b<columns1.length;b++)
tempString1= tempString1+(String)jta2.getValueAt(rows1[a], columns1[b]);
}
try{ Update0();}
catch(SQLException ed){}
}
//////////////////////查询该读者续借图书是否超期和设置超期信息////////////////////////////////////////////////////////
public void Update0() throws SQLException
{ String dzxm,dzbh,txm,xb,sf,yxzj,zjhm,zcrq,zxrq,csrq,lxdh,lxdz,dzzt,kjsl,zcqx,jycs,czy,xjcs,sfcq;
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=String.valueOf(rs.getInt("图书价格"));zxrq=rs.getString("出版社");csrq=rs.getString("存放位置");
lxdh=rs.getString("图书类型");lxdz=rs.getString("上次借阅时间");dzzt=rs.getString("本次续借时间");
zcqx=rs.getString("下次归还时间");czy=rs.getString("操作员");xjcs=rs.getString("续借次数");
sfcq=rs.getString("是否超期");
if(dzbh.equals(tempString1)||txm.equals(tempString1)||sf.equals(tempString1)||yxzj.equals(tempString1))
{code=sf;tiaoma=yxzj;name=xb;jtf16.setText(lxdz);
bookprice=zcrq;bookpress=zxrq;bookstock=csrq;bookfenlei=lxdh;bookdate=zcqx;
lb3.setText("您要挂失的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
lb3.setToolTipText("您要挂失的图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
nowTime=new Date();
matter=new SimpleDateFormat("yyyy-MM-dd");
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 year1=String.valueOf(calendar.get(Calendar.YEAR)),
month1=String.valueOf(calendar.get(Calendar.MONTH)+1),
day1=String.valueOf(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{ Fajin();}
catch(SQLException ed){System.err.println(ed);}
JOptionPane.showMessageDialog(null, "该读者所借此书已超期,请交付罚金并及时归还该书!", "友情提示",
JOptionPane.WARNING_MESSAGE);
lb3.setText("该超期图书编号为:"+code+",条形码为:"+tiaoma+",名称为:"+name);
jtf16.setText(matter.format(nowTime));
jtf17.setText(String.valueOf(days));
jtf18.setText(fakuan);
float fakuan1=Float.valueOf(fakuan).floatValue();
float days1=Float.valueOf(days).floatValue();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -