📄 renewalbook.java
字号:
package book;
import java.awt.Color;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class RenewalBook extends Mb{
private JLabel icon,bookNumber,bookName,readerNumber,readerName,jbookTime,yhbookTime,chaoTime,jsr,chaoqi;
private JTextField tbookNumber,tbookName,treaderNumber,treaderName,tjbookTime,tyhbookTime,tchaoTime,tjsr,tchaoqi;
private ButtonIcon ok,xu,close,quxiao;
private ArrayList List = new ArrayList();
private Table table;
private PreparedStatement pstmt = null;
RenewalBook(String s, int i, int j) throws SQLException {
super(s, i, j);
con.setLayout(null);
shezhi();
add();
}
private void shezhi(){
setLabel();
setTextField();
setButton();
}
void setLabel(){
icon=new JLabel(new ImageIcon("./data/image/heard/xujietushu.jpg"));
icon.setBounds(0,5,600,50);
bookNumber=new JLabel("图书编号:");
bookNumber.setBounds(20, 60, 80, 18);
readerNumber=new JLabel("读者编号:");
readerNumber.setBounds(22, 100, 80, 18);
bookName=new JLabel("图书名称:");
bookName.setBounds(180, 60, 80, 18);
readerName=new JLabel("读者姓名:");
readerName.setBounds(180, 90, 80, 18);
jbookTime=new JLabel("借书日期:");
jbookTime.setBounds(180, 120, 80, 18);
yhbookTime=new JLabel("应还日期:");
yhbookTime.setBounds(180, 150, 80, 18);
chaoTime=new JLabel("是否超期:");
chaoTime.setBounds(400, 60, 80, 18);
chaoqi=new JLabel("超期天数:");
chaoqi.setBounds(400, 90, 80, 18);
jsr=new JLabel("经手人:");
jsr.setBounds(400, 120, 80, 18);
}
void setTextField(){
tbookNumber=new JTextField();
tbookNumber.setBounds(20, 80, 120, 18);
treaderNumber=new JTextField();
treaderNumber.setBounds(20, 120, 120, 18);
treaderNumber.setEnabled(false);
tbookName=new JTextField();
tbookName.setBounds(250, 60, 120, 18);
tbookName.setEnabled(false);
treaderName=new JTextField();
treaderName.setBounds(250, 90, 120, 18);
treaderName.setEnabled(false);
tjbookTime=new JTextField();
tjbookTime.setBounds(250, 120, 120, 18);
tjbookTime.setEnabled(false);
tyhbookTime=new JTextField();
tyhbookTime.setBounds(250, 150, 120, 18);
tyhbookTime.setEnabled(false);
tchaoTime=new JTextField();
tchaoTime.setBounds(470,60,120,18);
tchaoTime.setEnabled(false);
tchaoqi=new JTextField();
tchaoqi.setBounds(470,90,120,18);
tchaoqi.setEnabled(false);
tjsr=new JTextField();
tjsr.setBounds(470,120,120,18);
tjsr.setEnabled(false);
}
void setButton(){
ok = new ButtonIcon("确定");
ok.setBounds(20, 150, 70, 25);
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
try {
MainDAO dao=new MainDAO();
if(judge()){
xu.setEnabled(true);
ResultSet rs=null;
String str = "select * from jiechutushu where 图书编号=?";
pstmt = dao.getPreparedStatement(str);
pstmt.setInt(1,Integer.parseInt(tbookNumber.getText()));
rs=pstmt.executeQuery();
if(rs.next()){
treaderNumber.setText(rs.getString("读者编号"));
tbookName.setText(rs.getString("图书名称"));
treaderName.setText(rs.getString("读者姓名"));
tjbookTime.setText(rs.getString("借书日期"));
tyhbookTime.setText(rs.getString("应还日期"));
tchaoqi.setText(cTime(tyhbookTime.getText()));
if(Integer.parseInt(tchaoqi.getText())>0){
tchaoTime.setText("是");
setChaoTime();
}
else{
tchaoTime.setText("否");
}
tjsr.setText(rs.getString("经手人"));
}
rs.close();
dao.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
});
xu = new ButtonIcon("确定");
xu.setBounds(310, 180, 70, 25);
xu.setEnabled(false);
xu.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
try {
java.sql.Date nowTime= new java.sql.Date(Calendar.getInstance().getTime().getTime());
if(tchaoTime.getText().equals("是")){
JOptionPane.showMessageDialog(tbookName, "图书已超期,请还书处罚后再借!!!");
allClean();
}
else
{ MainDAO dao = new MainDAO();
String s=getDate(getReaderType());
System.out.println(s);
String str = "update jiechutushu set 借书日期=?,应还日期=? where 图书编号=?";
pstmt = dao.getPreparedStatement(str);
pstmt.setDate(1,nowTime);
pstmt.setString(2,s);
pstmt.setInt(3,Integer.parseInt(tbookNumber.getText()));
pstmt.executeUpdate();
pstmt.close();
dao.close();
JOptionPane.showMessageDialog(tbookName, "续借成功,请按时还书!!!");
allClean();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
});
quxiao = new ButtonIcon("取消");
quxiao.setBounds(410, 180, 70, 25);
quxiao.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
allClean();
}
});
close = new ButtonIcon("关闭");
close.setBounds(510, 180, 70, 25);
close.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
close();
}
});
}
void allClean(){
tbookNumber.setText("");
treaderNumber.setText("");
tbookName.setText("");
treaderName.setText("");
tjbookTime.setText("");
tyhbookTime.setText("");
tchaoTime.setText("");
tchaoqi.setText("");
tjsr.setText("");
xu.setEnabled(false);
}
private String getDate(int i){
Calendar cal = Calendar.getInstance();
java.util.Date myDate=new java.util.Date();
long myTime;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String mDateTime=formatter.format(cal.getTime());
String mDate=formatter.format(myDate);
myDate=new java.util.Date();
myTime=(myDate.getTime()/1000)+60*60*24*i;
myDate.setTime(myTime*1000);
mDate=formatter.format(myDate);
System.out.println(mDate);
return mDate;
}
boolean judge() throws HeadlessException, SQLException{
boolean boo=true;
MainDAO dao = new MainDAO();
char b[] = tbookNumber.getText().toCharArray();
for (int i = 0; i < b.length; i++) {
if (!(Character.isDigit(b[i]))) {
boo = false;
}
}
if(!boo){
JOptionPane.showMessageDialog(table, "图书编号只能是数字!!");
}
if(boo){
if (!dao.Judge("select 图书编号 from jiechutushu", tbookNumber
.getText(), "图书编号")) {
boo = false;
JOptionPane.showMessageDialog(table, "此书并未借出,请确认输入是否正确!!");
}
}
dao.close();
return boo;
}
String cTime(String time){
int year,month,day;
year=Integer.parseInt(time.substring(0,4));
month=Integer.parseInt(time.substring(5,7));
day=Integer.parseInt(time.substring(8,10));
if(!(month==0)){
month--;
}
Calendar calendar=Calendar.getInstance();
calendar.set(year,month,day);
long time1=calendar.getTimeInMillis();
calendar.setTime(new Date());
long time2=calendar.getTimeInMillis();
long xtime=(time2-time1)/(1000*60*60*24);
return String.valueOf(xtime);
}
//如果图书超期、 设置属性超期
void setChaoTime() throws SQLException{
MainDAO dao = new MainDAO();
String str = "update jiechutushu set 是否超期=? where 图书编号=?";
pstmt = dao.getPreparedStatement(str);
pstmt.setString(1,"是");
pstmt.setInt(2,Integer.parseInt(tbookNumber.getText()));
pstmt.executeUpdate();
pstmt.close();
dao.close();
}
int getReaderType() throws SQLException{
int i = 0;
MainDAO dao=new MainDAO();
ResultSet rs=null;
String str = "select 天数上限 from duzheziliao where 读者编号="+treaderNumber.getText();
pstmt = dao.getPreparedStatement(str);
rs=pstmt.executeQuery();
if(rs.next()){
i=Integer.parseInt(rs.getString("天数上限"));
}
pstmt.close();
dao.close();
return i;
}
void add(){
con.add(icon);
con.add(bookNumber);
con.add(tbookNumber);
con.add(bookName);
con.add(tbookName);
con.add(readerNumber);
con.add(treaderNumber);
con.add(readerName);
con.add(treaderName);
con.add(jbookTime);
con.add(tjbookTime);
con.add(yhbookTime);
con.add(tyhbookTime);
con.add(chaoTime);
con.add(tchaoTime);
con.add(chaoqi);
con.add(tchaoqi);
con.add(jsr);
con.add(tjsr);
con.add(ok);
con.add(xu);
con.add(quxiao);
con.add(close);
con.validate();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -