📄 library.java
字号:
contentPane.add( updateJButton );
updateJButton.addActionListener(
new ActionListener() // anonymous inner class
{
// event handler called when updateJButton is pressed
public void actionPerformed( ActionEvent event )
{
updateJButtonActionPerformed( event );
}
} // end anonymous inner class
); // end call to addActionListener
// set properties of application's window
setTitle( "学生图书馆管理" ); // set title bar string
setSize( 513, 557 ); // set window size
setVisible( true ); // display window
loadParcel();
getContentPane().setBackground(Color.LIGHT_GRAY);
} // end method createUserInterface
private void scanNewJButtonActionPerformed( ActionEvent event )
{
// clear JTextFields
clearComponents();
;
try
{
myResultSet = myStatement.executeQuery( "SELECT * FROM parcel " );
if(myResultSet.next()){
myResultSet.close();
myResultSet = myStatement.executeQuery( "SELECT max(parcelID) as maxID FROM parcel " );
myResultSet.next();
parcelID=Integer.parseInt(myResultSet.getString("maxID"))+1;
}
else{
parcelID=1;
myResultSet.close();
}
} // end try
catch ( SQLException exception )
{
exception.printStackTrace();
}
// unique ID number
IDJTextField.setText(String.valueOf(parcelID));
// disable appropriate components
setJButtons(false);
// enable or make editable appropriate components
addJButton.setEnabled(true);
parcelPersonalInformationJPanelEditable(true);
// grab focus
studentnameJTextField.requestFocusInWindow();
} // end method scanNewJButtonActionPerformed
private void addJButtonActionPerformed( ActionEvent event )
{
// set information
setParcelData();
try
{
myStatement.executeUpdate("insert into parcel"+
"(parcelID,name,booknumber,bookname1,bookname2,borrow1,classes,borrow2,return1,return2)"+
"values('"+parcelID+
"'," +"'"+name+"','"+booknumber+"','"+bookname1+"','"+bookname2+"','"+borrow1+"','"+classes+
"','"+borrow2+"','"+return1+"','"+return2+"')" );
} // end try
catch ( SQLException exception )
{
exception.printStackTrace();
}
// disable or make uneditable appropriate components
addJButton.setEnabled( false );
parcelPersonalInformationJPanelEditable( false );
// enable appropriate components
setJButtons( true );
// change selected item in ClassesJComboBox
ClassesJComboBox.setSelectedIndex(
classesJComboBox.getSelectedIndex() );
} // end method addJButtonActionPerformed
private void removeJButtonActionPerformed( ActionEvent event )
{
parcelID=Integer.parseInt(IDJTextField.getText());
try {
int result = JOptionPane.showOptionDialog(null, "是否删除学生信息?",
"系统提示", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
new String[] { "是", "否" }, "否");
if (result == JOptionPane.NO_OPTION)
return;
else{
myStatement.executeUpdate("delete from parcel where parcelID="+parcelID);
}
} // end try
catch ( SQLException exception )
{
exception.printStackTrace();
}
loadParcel();
IDJTextField.setText( "");
studentnameJTextField.setText( "");
booknumberJTextField.setText( "");
nameJTextField1.setText( "");
nameJTextField2.setText( "");
borrowJTextField1.setText( "");
borrowJTextField2.setText("");
returnJTextField1.setText( "");
returnJTextField2.setText( "");
classesJComboBox.setSelectedIndex( 0);
removeJButton.setEnabled(false);
editJButton.setEnabled(false);
} // end method removeJButtonActionPerformed
// allow user to edit information
private void editJButtonActionPerformed(ActionEvent event)
{
setJButtons(false);
// make user able to update information
updateJButton.setEnabled(true);
parcelPersonalInformationJPanelEditable(true);
DefaultTableModel tableModel1 = (DefaultTableModel) table.getModel();
int i = table.getSelectedRow();
IDJTextField.setText(
(String)tableModel1.getValueAt(i, 0));
studentnameJTextField.setText( (String)tableModel1.getValueAt(i, 1));
booknumberJTextField.setText( (String)tableModel1.getValueAt(i, 3));
nameJTextField1.setText( (String)tableModel1.getValueAt(i, 4));
nameJTextField2.setText( (String)tableModel1.getValueAt(i, 5));
borrowJTextField1.setText( (String)tableModel1.getValueAt(i, 6));
borrowJTextField2.setText((String)tableModel1.getValueAt(i, 7));
returnJTextField1.setText( String.valueOf( tableModel1.getValueAt(i, 8)));
returnJTextField2.setText( String.valueOf( tableModel1.getValueAt(i, 9)));
classesJComboBox.setSelectedIndex( ClassesJComboBox.getSelectedIndex() );
} // end method editJButtonActionPerformed
// move to next
private void updateJButtonActionPerformed( ActionEvent event )
{
setParcelData();
parcelID=Integer.parseInt(IDJTextField.getText());
try
{
myStatement.executeUpdate("update parcel set name='"+name+"',borrow1='"+borrow1+
"',classes='"+classes+"',borrow2='"+borrow2+"',return1='"+return1+"',return2='"+return2+
"',bookname1='"+bookname1+"',bookname2='"+bookname2+"',booknumber='"+booknumber+"' where parcelID="+parcelID);
} // end try
catch ( SQLException exception )
{
exception.printStackTrace();
}
// disable or make uneditable appropriate components
addJButton.setEnabled( false );
parcelPersonalInformationJPanelEditable( false );
// enable appropriate components
setJButtons( true );
removeJButton.setEnabled(false);
editJButton.setEnabled(false);
updateJButton.setEnabled(false);
ClassesJComboBox.setSelectedIndex(
classesJComboBox.getSelectedIndex() );
} // end method updateJButtonActionPerformed
// change the list in the ClassesJList
private void ClassesJComboBoxActionPerformed(
ActionEvent event )
{
loadParcel();
}
// set all information
private void setParcelData()
{
name=studentnameJTextField.getText();
borrow1=borrowJTextField1.getText();
borrow2=borrowJTextField2.getText();
classes=classnumber[classesJComboBox.getSelectedIndex()];
return1=Integer.parseInt(returnJTextField1.getText());
return2=returnJTextField2.getText();
bookname1=nameJTextField1.getText();
bookname2=nameJTextField2.getText();
booknumber=Integer.parseInt(booknumberJTextField.getText());
} // end method
// display all information
private void loadParcel()
{
/* 表格列向量 */
Vector cell;
/* 表格行向量 */
Vector row = new Vector();
//初始化表格数据,这些数据实例运行来源于数据库中
try
{
myResultSet = myStatement.executeQuery( "SELECT parcelID,name,booknumber,bookname1,bookname2,borrow1,classes,borrow2,return1,return2 " +
"FROM parcel " +
"WHERE classes='"+classnumber[ClassesJComboBox.getSelectedIndex()]+"'" );
while(myResultSet.next()){
cell = new Vector();
cell.add(myResultSet.getString("parcelID"));
cell.add(myResultSet.getString("name"));
cell.add(myResultSet.getString("classes"));
cell.add(myResultSet.getString("booknumber"));
cell.add(myResultSet.getString("bookname1"));
cell.add(myResultSet.getString("bookname2"));
cell.add(myResultSet.getString("borrow1"));
cell.add(myResultSet.getString("borrow2"));
cell.add(myResultSet.getString("return1"));
cell.add(myResultSet.getString("return2"));
row.add(cell);
}
myResultSet.close(); // close myResultSet
} // end try
catch ( SQLException exception )
{
exception.printStackTrace();
}
// 设置表格模型
tableModel.setDataVector(row, tableHeadName);
table = new JTable(tableModel);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
clicktable();
}
});
table.getColumnModel().getColumn(0).setPreferredWidth(40);
table.getColumnModel().getColumn(1).setMinWidth(30);
table.getColumnModel().getColumn(2).setPreferredWidth(40);
table.getColumnModel().getColumn(3).setPreferredWidth(40);
table.getColumnModel().getColumn(4).setPreferredWidth(140);
table.getColumnModel().getColumn(5).setPreferredWidth(140);
table.getColumnModel().getColumn(6).setPreferredWidth(85);
table.getColumnModel().getColumn(7).setPreferredWidth(85);
scrollPane.setViewportView(table);
}
protected void clicktable() {
editJButton.setEnabled(true );
scanNewJButton.setEnabled( true );
updateJButton.setEnabled(false);
addJButton.setEnabled(false);
removeJButton.setEnabled(true);
parcelPersonalInformationJPanelEditable(false);
DefaultTableModel tableModel1 = (DefaultTableModel) table.getModel();
int i = table.getSelectedRow();
// display package data
IDJTextField.setText(
(String)tableModel1.getValueAt(i, 0));
studentnameJTextField.setText( (String)tableModel1.getValueAt(i, 1));
booknumberJTextField.setText( (String)tableModel1.getValueAt(i, 3));
nameJTextField1.setText( (String)tableModel1.getValueAt(i, 4));
nameJTextField2.setText( (String)tableModel1.getValueAt(i, 5));
borrowJTextField1.setText( (String)tableModel1.getValueAt(i, 6));
borrowJTextField2.setText((String)tableModel1.getValueAt(i, 7));
returnJTextField1.setText( String.valueOf( tableModel1.getValueAt(i, 8)));
returnJTextField2.setText( String.valueOf( tableModel1.getValueAt(i, 9)));
classesJComboBox.setSelectedIndex( ClassesJComboBox.getSelectedIndex() );
}
// clear all information
private void clearComponents()
{
studentnameJTextField.setText( "" );
booknumberJTextField.setText("");
nameJTextField1.setText("");
nameJTextField2.setText("");
borrowJTextField1.setText( "" );
borrowJTextField2.setText( "" );
returnJTextField1.setText( "" );
returnJTextField2.setText( "" );
IDJTextField.setText( "" );
} // end method clearComponents
// enabled/disable JButtons
private void setJButtons( boolean state )
{
scanNewJButton.setEnabled( state );
removeJButton.setEnabled( state );
editJButton.setEnabled( state );
} // end method setJButtons
// make editable or uneditable components
// in PersonalInformationJPanel
private void parcelPersonalInformationJPanelEditable( boolean editable )
{
borrowJTextField1.setEditable( editable );
borrowJTextField2.setEditable( editable );
classesJComboBox.setEnabled( editable );
returnJTextField2.setEditable( editable );
nameJTextField2.setEditable(editable);
nameJTextField1.setEditable(editable);
returnJTextField1.setEditable(editable);
studentnameJTextField.setEditable( editable );
booknumberJTextField.setEditable(editable);
} // end method
// main method
public static void main( String[] args )
{
Library application = new Library();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
} // end method main
} // end class Library
/**
版本注册:信息07—1。
**/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -