📄 returnmain.java
字号:
import javax.swing.JInternalFrame;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import java.text.*;
import java.util.EventListener.*;
import javax.swing.*;
import java.awt.print.*;
import java.util.GregorianCalendar.*;
public class ReturnMain extends JInternalFrame implements ReturnMain_Interface{
public int paintx, painty;
public Connection connection;
public Container c = getContentPane();
public JTabbedPane tab = new JTabbedPane();
public JTextField temp = new JTextField(10);
public JTextField temp2 = new JTextField(10);
public String chk = "";
public String chk2 = "";
public ReturnMain() {
super("Item Return Entry",
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable
String url = "jdbc:odbc:lib";
//Load the driver to allow connection to the database
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection(url);
}
catch(ClassNotFoundException cnfex) {
System.err.println("Failed to load driver");
cnfex.printStackTrace();
System.exit(1);
}
catch(SQLException sqlex){
System.err.println("unable to connect");
sqlex.printStackTrace();
}
temp.setVisible(false);
JToolBar toolBar = new JToolBar();
addButtons(toolBar);
int inset = 100;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize(800,500);
setLocation(0, 0);
setResizable(false);
show();
paintx = (screenSize.width);
painty = (screenSize.height);
setBounds( (paintx - 800)/2 , ((painty-100) - 500)/2,
800,500);
c.add(toolBar, BorderLayout.NORTH);
JPanel up = new JPanel();
JPanel down = new JPanel();
JPanel down2 = new JPanel();
JPanel pat_info = new JPanel();
JPanel bk_info = new JPanel();
patron_info.setFont (new Font ("Arial", Font.BOLD, 20));
book_info.setFont (new Font ("Arial", Font.BOLD, 20));
pat_info.setLayout(new GridBagLayout());
GridBagConstraints gbc1 = new GridBagConstraints();
gbc1.gridy = 0;
gbc1.gridx = 0;
pat_info.add(patron_info, gbc1);
gbc1.gridy = 1;
gbc1.gridx = 0;
pat_info.add(patron_no, gbc1);
gbc1.gridy = 2;
pat_info.add(name, gbc1);
gbc1.gridy = 3;
pat_info.add(passport, gbc1);
gbc1.gridy = 4;
pat_info.add(group_type, gbc1);
gbc1.gridy = 5;
pat_info.add(expiry_date, gbc1);
gbc1.gridy = 6;
pat_info.add(status, gbc1);
gbc1.gridy = 7;
pat_info.add(loan_duration, gbc1);
gbc1.gridy = 1;
gbc1.gridx = 1;
pat_info.add(patron_no_text, gbc1);
gbc1.gridy = 2;
pat_info.add(name_text, gbc1);
gbc1.gridy = 3;
pat_info.add(passport_text, gbc1);
gbc1.gridy = 4;
pat_info.add(group_type_text, gbc1);
gbc1.gridy = 5;
pat_info.add(expiry_date_text, gbc1);
gbc1.gridy = 6;
pat_info.add(status_text, gbc1);
gbc1.gridy = 7;
pat_info.add(loan_duration_text, gbc1);
bk_info.setLayout(new GridBagLayout());
GridBagConstraints gbc2 = new GridBagConstraints();
gbc2.gridy = 0;
gbc2.gridx = 0;
bk_info.add(book_info, gbc2);
gbc2.gridx = 0;
gbc2.gridy = 1;
bk_info.add(book_no, gbc2);
gbc2.gridy = 2;
bk_info.add(book_title, gbc2);
gbc2.gridy = 3;
bk_info.add(book_type, gbc2);
gbc2.gridy = 4;
bk_info.add(author, gbc2);
gbc2.gridy = 5;
bk_info.add(publisher, gbc2);
gbc2.gridy = 6;
bk_info.add(subject, gbc2);
gbc2.gridy = 7;
bk_info.add(location, gbc2);
gbc2.gridx = 1;
gbc2.gridy = 1;
bk_info.add(book_no_text, gbc2);
gbc2.gridy = 2;
bk_info.add(book_title_text, gbc2);
gbc2.gridy = 3;
bk_info.add(book_type_text, gbc2);
gbc2.gridy = 4;
bk_info.add(author_text, gbc2);
gbc2.gridy = 5;
bk_info.add(publisher_text, gbc2);
gbc2.gridy = 6;
bk_info.add(subject_text, gbc2);
gbc2.gridy = 7;
bk_info.add(location_text, gbc2);
down.add(pat_info, BorderLayout.WEST);
down2.add(bk_info, BorderLayout.EAST);
JPanel rtn_ent = new JPanel();
book_rtn_entry.setFont (new Font ("Arial", Font.BOLD, 20));
fine_collection.setFont (new Font ("Arial", Font.BOLD, 20));
rtn_ent.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridy = 0;
gbc.gridx = 0;
rtn_ent.add(book_rtn_entry, gbc);
gbc.gridy = 1;
gbc.gridx = 0;
rtn_ent.add(book_ac_no, gbc);
gbc.gridx = 1;
rtn_ent.add(rent_date, gbc);
gbc.gridx = 2;
rtn_ent.add(rent_due_date, gbc);
gbc.gridx = 3;
rtn_ent.add(tag, gbc);
gbc.gridx = 4;
rtn_ent.add(day_overdue, gbc);
gbc.gridy = 2;
gbc.gridx = 0;
rtn_ent.add(book_ac_no_text, gbc);
book_ac_no_text.addFocusListener(new MyActionListener()
{
public void focusLost(FocusEvent e)
{
try
{
Statement satemt = connection.createStatement();
String query1 = "SELECT * FROM loan WHERE item_id = '" + book_ac_no_text.getText() + "'";
ResultSet rs = satemt.executeQuery(query1);
rs.next();
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
Calendar cal = Calendar.getInstance();
java.sql.Date d = rs.getDate("due_date");
String mid = rs.getString("member_id");
String iid = rs.getString("item_id");
java.util.Date as = new java.util.Date();
GregorianCalendar dat = new GregorianCalendar(as.getYear(), as.getMonth(), as.getDate());
int a = 0;
if(!d.after(as))
{
while (as.after(d))
{
cal.add(dat.DATE, -1);
as = cal.getTime();
a++;
System.out.println(a);
}
}
if (a>0)
{
System.out.println("overdue");
}
else
{
System.out.println("no overdue");
}
java.sql.Date rdate = rs.getDate("rent_date");
rent_date_text.setText(df.format(rdate));
rent_due_date_text.setText(df.format(d));
day_overdue_text.setText(String.valueOf(a-1));
String query2 = "SELECT * FROM Item WHERE item_id = '" + book_ac_no_text.getText() + "'";
ResultSet rs11 = satemt.executeQuery(query2);
double fine = 0.00;
double amtfine = 0.00;
try
{
rs11.next();
String btype = rs11.getString("type");
if (btype.equals("Book"))
{
fine = 0.50;
}
if (btype.equals("Video"))
{
fine = 1.00;
}
if (btype.equals("Journal"))
{
fine = 0.25;
}
if (a>0)
{
amtfine = (a-1) * fine;
amount_fine_text.setText(String.valueOf(amtfine));
day_overdue_text.setText(String.valueOf(a-1));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -