?? readersearchiframe.java
字號:
package com.lishan.iframe;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.text.SimpleDateFormat;
import java.sql.Date;
import java.util.List;
import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import com.lishan.dao.Dao;
import com.lishan.model.Reader;
import com.lishan.util.CreatedIcon;
import com.lishan.util.MyDocument;
public class ReaderSearchIFrame extends JInternalFrame {
private JTextField keepmoney;
private ButtonGroup buttonGroup = new ButtonGroup();
private JTextField search ,searcheMethod;
private JTextField readerISBN;
private JTextField zhiye;
private JTextField tel;
private JTextField date;
private JTextField maxnumber;
private JTextField banzhengtime;
private JTextField zhengjiannumber;
private JComboBox comboBox,comboBox1;
private JTextField age;
private JTextField readername;
private JRadioButton JRadioButton1;
private JRadioButton JRadioButton2;
private JScrollPane scrollPane;
private JTable table;
private String[] columnNames = { "讀者名稱", "讀者性別", "讀者年齡", "證件號碼", "會員證有效日期",
"最大借書量", "電話", "押金", "證件", "職業", "讀者編號", "讀者辦證時間" };
private String[] array = new String[] { "身份證", "軍人證", "學生證", "工作證" };
String id;
/**
* Create the frame
*/
private Object[][] getFileStates(List list) {
Object[][] results = new Object[list.size()][columnNames.length];
for (int i = 0; i < list.size(); i++) {
Reader reader = (Reader) list.get(i);
results[i][0] = reader.getName();
String sex;
if (reader.getSex().equals("1")) {
sex = "男";
} else
sex = "女";
results[i][1] = sex;
results[i][2] = reader.getAge();
results[i][3] = reader.getIdentityCard();
results[i][4] = reader.getDate();
results[i][5] = reader.getMaxNum();
results[i][6] = reader.getTel();
results[i][7] = reader.getKeepMoney();
results[i][8] = array[reader.getZhengjian()];
results[i][9] = reader.getZhiye();
results[i][10] = reader.getISBN();
results[i][11] = reader.getBztime();
}
return results;
}
public ReaderSearchIFrame() {
super();
setIconifiable(true);
setMaximizable(true);
setClosable(true);
setTitle("讀者信息查詢");
setBounds(100, 100, 600, 380);
final JTabbedPane tabbedPane = new JTabbedPane();// tabbedPane允許用戶通過單擊具有給定標題和/或圖標的選項卡,在一組組件之間進行切換
tabbedPane.setPreferredSize(new Dimension(0, 50));
getContentPane().add(tabbedPane);
final JPanel panelTotle = new JPanel();
panelTotle.setLayout(new BorderLayout());
tabbedPane.addTab("按ISBN查詢", null, panelTotle, null);
final JPanel panel_1_1 = new JPanel();
panel_1_1.setBorder(new TitledBorder(null, null,
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION, null, null));
panel_1_1.setPreferredSize(new Dimension(0, 50));
panelTotle.add(panel_1_1, BorderLayout.NORTH);
final JLabel inputISBN = new JLabel("請輸入ISBN號:");
panel_1_1.add(inputISBN);
search = new JTextField(30);
panel_1_1.add(search);
final JPanel panel_1_2 = new JPanel();
panel_1_2.setBorder(new TitledBorder(null, "查詢結果",
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION, null, null));
panel_1_2.setPreferredSize(new Dimension(0, 200));
panelTotle.add(panel_1_2, BorderLayout.CENTER);
final GridLayout gridLayout = new GridLayout(0, 4);
gridLayout.setVgap(13);
panel_1_2.setLayout(gridLayout);
final JLabel label_1 = new JLabel();
label_1.setText(" 姓 名:");
panel_1_2.add(label_1);
readername = new JTextField();
readername.setFocusable(true);
panel_1_2.add(readername);
final JLabel label_2 = new JLabel();
label_2.setText(" 性 別:");
panel_1_2.add(label_2);
final JPanel panel_3 = new JPanel();
final FlowLayout flowLayout_1 = new FlowLayout();
flowLayout_1.setVgap(0);
panel_3.setLayout(flowLayout_1);
panel_1_2.add(panel_3);
JRadioButton1 = new JRadioButton();
JRadioButton1.setSelected(true);
buttonGroup.add(JRadioButton1);
panel_3.add(JRadioButton1);
JRadioButton1.setText("男");
JRadioButton2 = new JRadioButton();
buttonGroup.add(JRadioButton2);
panel_3.add(JRadioButton2);
JRadioButton2.setText("女");
final JLabel label_3 = new JLabel();
label_3.setText(" 年 齡:");
panel_1_2.add(label_3);
age = new JTextField();
age.setFocusable(false);
panel_1_2.add(age);
final JLabel label_5 = new JLabel();
label_5.setText(" 職 業:");
panel_1_2.add(label_5);
zhiye = new JTextField();
zhiye.setFocusable(false);
panel_1_2.add(zhiye);
final JLabel label = new JLabel();
label.setText(" 有效證件:");
panel_1_2.add(label);
comboBox = new JComboBox();
comboBox.setModel(new DefaultComboBoxModel(array));
for (int i = 1; i < array.length; i++) {
comboBox.setSelectedIndex(i);
comboBox.setSelectedItem(array);
}
panel_1_2.add(comboBox);
final JLabel label_6 = new JLabel();
label_6.setText(" 證件號碼:");
panel_1_2.add(label_6);
zhengjiannumber = new JTextField();
zhengjiannumber.setFocusable(false);
panel_1_2.add(zhengjiannumber);
final JLabel label_7 = new JLabel();
label_7.setText(" 辦證日期:");
panel_1_2.add(label_7);
SimpleDateFormat myfmt = new SimpleDateFormat("yyyy-MM-dd");
banzhengtime = new JFormattedTextField(myfmt.getDateInstance());
banzhengtime.setFocusable(false);
panel_1_2.add(banzhengtime);
final JLabel label_9 = new JLabel();
label_9.setText(" 最大借書量:");
panel_1_2.add(label_9);
maxnumber = new JTextField();
maxnumber.setFocusable(false);
panel_1_2.add(maxnumber);
final JLabel label_13 = new JLabel();
label_13.setText(" 會員證有效日期:");
panel_1_2.add(label_13);
date = new JFormattedTextField(myfmt.getDateInstance());
date.setFocusable(false);
panel_1_2.add(date);
final JLabel label_8 = new JLabel();
label_8.setText(" 電 話:");
panel_1_2.add(label_8);
tel = new JFormattedTextField();
tel.setFocusable(false);
panel_1_2.add(tel);
final JLabel label_14 = new JLabel();
label_14.setText(" 押 金:");
panel_1_2.add(label_14);
keepmoney = new JTextField();
keepmoney.setFocusable(false);
panel_1_2.add(keepmoney);
final JLabel label_4 = new JLabel();
label_4.setText(" 讀者編號:");
panel_1_2.add(label_4);
readerISBN = new JTextField();
readerISBN.setFocusable(false);
panel_1_2.add(readerISBN);
final JPanel panel_4 = new JPanel();
panel_4.setMaximumSize(new Dimension(0, 0));
final FlowLayout flowLayout = new FlowLayout();
flowLayout.setVgap(0);
flowLayout.setHgap(4);
panel_4.setLayout(flowLayout);
final JButton button = new JButton();
button.setHorizontalTextPosition(SwingConstants.CENTER);
panel_4.add(button);
button.setText("查詢");
button.addActionListener(new ReaderSearchListener());
final JButton buttonDel = new JButton();
panel_4.add(buttonDel);
buttonDel.setText("退出");
buttonDel.addActionListener(new exitListener());
panelTotle.add(panel_4, BorderLayout.SOUTH);
setVisible(true);
final JPanel panelTotle_1 = new JPanel();
panelTotle_1.setLayout(new BorderLayout());
tabbedPane.addTab("批量查詢", null, panelTotle_1, null);
final JPanel panel_2 = new JPanel();
panel_2.setBorder(new TitledBorder(null, "選擇查詢方法",
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION, null, null));
panel_2.setPreferredSize(new Dimension(0, 50));
panelTotle_1.add(panel_2, BorderLayout.NORTH);
comboBox1 = new JComboBox();
String[] array1 = new String[] { "按性別查詢", "按姓名查詢" };
for(int i = 0; i < array1.length; i++){
comboBox1.addItem(array1[i]);
}
panel_2.add(comboBox1);
searcheMethod = new JTextField();
searcheMethod.setColumns(20);
panel_2.add(searcheMethod);
final JPanel panel_2_1 = new JPanel();
panel_2_1.setBorder(new TitledBorder(null,"查詢結果",
TitledBorder.DEFAULT_JUSTIFICATION,
TitledBorder.DEFAULT_POSITION,null,null));
panel_2_1.setPreferredSize(new Dimension(0,50));
panelTotle_1.add(panel_2_1, BorderLayout.CENTER);
scrollPane = new JScrollPane();
scrollPane.setPreferredSize(new Dimension(400, 200));
panel_2_1.add(scrollPane);
final JPanel panel_2_2 = new JPanel();
final JButton buttonsearch = new JButton("查詢");
final JButton buttonexit = new JButton("退出");
buttonsearch.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
String choicename = comboBox1.getSelectedItem().toString().trim();
if( choicename.equals("按姓名查詢")){
String method = searcheMethod.getText().trim();
Object[][] results = getFileStates(Dao.selectReaderByName(method));
// if(results.length == 0){
// JOptionPane.showMessageDialog(null, "不存在姓名為" + method +"讀者");
// return;
// }
table = new JTable(results,columnNames);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPane.setViewportView(table);
}
if(choicename.equals("按性別查詢")){
String method = searcheMethod.getText().trim();
if("男".equals(method) || "man".equals(method)){
Object[][] results = getFileStates(Dao.selectReaderBySex("1"));
table = new JTable(results,columnNames);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPane.setViewportView(table);
}else if("女".equals(method) || "woman".equals(method)){
Object[][] results = getFileStates(Dao.selectReaderBySex("2"));
table = new JTable(results,columnNames);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPane.setViewportView(table);
}else{
JOptionPane.showMessageDialog(null, "請輸入性別");
return;
}
}
}
});
buttonexit.addActionListener(new exitListener());
panel_2_2.add(buttonsearch);
panel_2_2.add(buttonexit);
panelTotle_1.add(panel_2_2, BorderLayout.SOUTH);
}
class ReaderSearchListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
List list = Dao.selectReader(search.getText().trim());
if (list.size() == 0) {
JOptionPane.showMessageDialog(null, "沒有編號為"
+ search.getText().trim() + "的讀者信息");
} else {
Reader reader = (Reader) list.get(0);
readername.setText(reader.getName());
String sex = reader.getSex();
if (sex.equals("1")) {
JRadioButton1.setSelected(true);
} else
JRadioButton2.setSelected(true);
age.setText(reader.getAge());
zhiye.setText(reader.getZhiye());
comboBox.setSelectedIndex(reader.getZhengjian());
zhengjiannumber.setText(reader.getIdentityCard().toString()
.trim());
banzhengtime.setText(reader.getBztime().toString().trim());
maxnumber.setText(reader.getMaxNum().toString().trim());
date.setText(reader.getDate().toString().trim());
tel.setText(reader.getTel().toString().trim());
keepmoney.setText(reader.getKeepMoney().toString().trim());
readerISBN.setText(reader.getISBN().toString().trim());
}
}
}
class exitListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
doDefaultCloseAction();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -