?? readermodianddeliframe.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.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
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 ReaderModiAndDelIFrame extends JInternalFrame {
private JTextField keepmoney;
private ButtonGroup buttonGroup = new ButtonGroup();
private JTable table;
private JTextField ISBN;
private JTextField zhiye;
private JTextField tel;
private JTextField date;
private JTextField maxnumber;
private JTextField banzhengtime;
private JTextField zhengjiannumber;
private JComboBox comboBox;
private JTextField age;
private JTextField readername;
private JRadioButton JRadioButton1;
private JRadioButton JRadioButton2;
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();
// results[i][0] = reader.getId();
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 ReaderModiAndDelIFrame() {
super();
setIconifiable(true);
setMaximizable(true);
setClosable(true);
setTitle("讀者信息修改與刪除");
setBounds(100, 100, 600, 450);
final JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setPreferredSize(new Dimension(400, 80));
getContentPane().add(panel, BorderLayout.NORTH);
final JLabel logoLabel = new JLabel();
ImageIcon readerModiAndDelIcon = CreatedIcon
.add("readerModiAndDel.jpg");
logoLabel.setIcon(readerModiAndDelIcon);
logoLabel.setBackground(Color.CYAN);
logoLabel.setOpaque(true);
logoLabel.setPreferredSize(new Dimension(400, 80));
panel.add(logoLabel);
logoLabel.setText("讀者信息修改logo(400*80)");
final JPanel panel_1 = new JPanel();
panel_1.setLayout(new BorderLayout());
getContentPane().add(panel_1);
final JScrollPane scrollPane = new JScrollPane();
scrollPane.setPreferredSize(new Dimension(0, 100));
panel_1.add(scrollPane, BorderLayout.NORTH);
final DefaultTableModel model = new DefaultTableModel();
Object[][] results = getFileStates(Dao.selectReader());
model.setDataVector(results, columnNames);
table = new JTable();
table.setModel(model);
scrollPane.setViewportView(table);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.addMouseListener(new TableListener());
final JPanel panel_2 = new JPanel();
final GridLayout gridLayout = new GridLayout(0, 4);
gridLayout.setVgap(9);
panel_2.setLayout(gridLayout);
panel_2.setPreferredSize(new Dimension(0, 200));
panel_1.add(panel_2, BorderLayout.SOUTH);
final JLabel label_1 = new JLabel();
label_1.setText(" 姓 名:");
panel_2.add(label_1);
readername = new JTextField();
readername.setDocument(new MyDocument(10));
panel_2.add(readername);
final JLabel label_2 = new JLabel();
label_2.setText(" 性 別:");
panel_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_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_2.add(label_3);
age = new JTextField();
age.setDocument(new MyDocument(2));
age.addKeyListener(new NumberListener());
panel_2.add(age);
final JLabel label_5 = new JLabel();
label_5.setText(" 職 業:");
panel_2.add(label_5);
zhiye = new JTextField();
zhiye.setDocument(new MyDocument(30));
panel_2.add(zhiye);
final JLabel label = new JLabel();
label.setText(" 有效證件:");
panel_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_2.add(comboBox);
final JLabel label_6 = new JLabel();
label_6.setText(" 證件號碼:");
panel_2.add(label_6);
zhengjiannumber = new JTextField();
zhengjiannumber.setDocument(new MyDocument(13));
zhengjiannumber.addKeyListener(new NumberListener());
panel_2.add(zhengjiannumber);
final JLabel label_7 = new JLabel();
label_7.setText(" 辦證日期:");
panel_2.add(label_7);
SimpleDateFormat myfmt = new SimpleDateFormat("yyyy-MM-dd");
banzhengtime = new JFormattedTextField(myfmt.getDateInstance());
panel_2.add(banzhengtime);
final JLabel label_9 = new JLabel();
label_9.setText(" 最大借書量:");
panel_2.add(label_9);
maxnumber = new JTextField();
maxnumber.addKeyListener(new NumberListener());
panel_2.add(maxnumber);
final JLabel label_13 = new JLabel();
label_13.setText(" 會員證有效日期:");
panel_2.add(label_13);
date = new JFormattedTextField(myfmt.getDateInstance());
panel_2.add(date);
final JLabel label_8 = new JLabel();
label_8.setText(" 電 話:");
panel_2.add(label_8);
tel = new JFormattedTextField();
tel.addKeyListener(new TelListener());
tel.setDocument(new MyDocument(11));
panel_2.add(tel);
final JLabel label_14 = new JLabel();
label_14.setText(" 押 金:");
panel_2.add(label_14);
keepmoney = new JTextField();
keepmoney.addKeyListener(new KeepmoneyListener());
panel_2.add(keepmoney);
final JLabel label_4 = new JLabel();
label_4.setText(" 讀者編號:");
panel_2.add(label_4);
ISBN = new JTextField();
ISBN.setEditable(false);
ISBN.setDocument(new MyDocument(13));
panel_2.add(ISBN);
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);
panel_2.add(panel_4);
final JButton button = new JButton();
button.setHorizontalTextPosition(SwingConstants.CENTER);
panel_4.add(button);
button.setText("修改");
button.addActionListener(new ModiButtonListener(model));
final JButton buttonDel = new JButton();
panel_4.add(buttonDel);
buttonDel.setText("刪除");
buttonDel.addActionListener(new DelButtonListener(model));
setVisible(true);
//
}
class TableListener extends MouseAdapter {
public void mouseClicked(final MouseEvent e) {
int selRow = table.getSelectedRow();
readername.setText(table.getValueAt(selRow, 0).toString().trim());
if (table.getValueAt(selRow, 1).toString().trim().equals("男"))
JRadioButton1.setSelected(true);
else
JRadioButton2.setSelected(true);
age.setText(table.getValueAt(selRow, 2).toString().trim());
zhengjiannumber.setText(table.getValueAt(selRow, 3).toString()
.trim());
date.setText(table.getValueAt(selRow, 4).toString().trim());
maxnumber.setText(table.getValueAt(selRow, 5).toString().trim());
tel.setText(table.getValueAt(selRow, 6).toString().trim());
keepmoney.setText(table.getValueAt(selRow, 7).toString().trim());
comboBox.setSelectedItem(table.getValueAt(selRow, 8).toString()
.trim());
zhiye.setText(table.getValueAt(selRow, 9).toString().trim());
ISBN.setText(table.getValueAt(selRow, 10).toString().trim());
banzhengtime
.setText(table.getValueAt(selRow, 11).toString().trim());
}
}
class NumberListener extends KeyAdapter {
public void keyTyped(KeyEvent e) {
String numStr = "0123456789" + (char) 8;
if (numStr.indexOf(e.getKeyChar()) < 0) {
e.consume();
}
}
}
class TelListener extends KeyAdapter {
public void keyTyped(KeyEvent e) {
String numStr = "0123456789-" + (char) 8;
if (numStr.indexOf(e.getKeyChar()) < 0) {
e.consume();
}
}
}
class KeepmoneyListener extends KeyAdapter {
public void keyTyped(KeyEvent e) {
String numStr = "0123456789" + (char) 8;// 只允許輸入數字和退格鍵
if (numStr.indexOf(e.getKeyChar()) < 0) {
e.consume();
}
if (keepmoney.getText().length() > 2
|| keepmoney.getText().length() < 0) {
e.consume();
}
}
}
class ModiButtonListener implements ActionListener {
private final DefaultTableModel model;
public ModiButtonListener(DefaultTableModel model) {
this.model = model;
}
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if (readername.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "讀者姓名文本框不可能為空");
return;
}
if (age.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "讀者年齡文本框不可為空");
return;
}
if (zhengjiannumber.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "證件號碼文本框不可為空");
return;
}
if (keepmoney.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "押金文本框不可為空");
return;
}
if (zhiye.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "職業文本框不可為空");
return;
}
if (ISBN.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "讀者條形碼文本框不可為空");
return;
}
if (ISBN.getText().length() != 13) {
JOptionPane.showMessageDialog(null, "讀者條形碼文本框為13位");
return;
}
if (banzhengtime.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "辦證時間文本框不可為空");
return;
}
if (tel.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "電話號碼文本框不可為空");
return;
}
if (tel.getText().length() > 11 || tel.getText().length() < 0) {
JOptionPane.showMessageDialog(null, "電話號碼位數小于11位");
return;
}
if (maxnumber.getText().length() == 0) {
JOptionPane.showMessageDialog(null, "最大借書量文本框不可為空");
return;
}
if (maxnumber.getText().length() > 2 || tel.getText().length() < 0) {
JOptionPane.showMessageDialog(null, "最大借書量為兩位數字");
return;
}
String sex = "1";
if (!JRadioButton1.isSelected()) {
sex = "2";
}
String zhengjian = String.valueOf(comboBox.getSelectedIndex());
System.out.println(comboBox.getSelectedIndex());
int i = Dao.updateReader(id, readername.getText().trim(), sex, age
.getText().trim(), zhengjiannumber.getText().trim(), Date
.valueOf(date.getText().trim()),
maxnumber.getText().trim(), tel.getText().trim(), Double
.valueOf(keepmoney.getText().trim()), zhengjian,
zhiye.getText().trim(), Date
.valueOf(banzhengtime.getText()), ISBN.getText()
.trim());
System.out.println(i);
if (i == 1) {
JOptionPane.showMessageDialog(null, "修改成功");
Object[][] results = getFileStates(Dao.selectReader());
model.setDataVector(results, columnNames);
table.setModel(model);
}
}
}
class DelButtonListener implements ActionListener {
private final DefaultTableModel model;
public DelButtonListener(DefaultTableModel model) {
this.model = model;
}
public void actionPerformed(ActionEvent arg0) {
int i = Dao.DelReader(ISBN.getText());
if(i == 1){
JOptionPane.showMessageDialog(null,"刪除成功");
Object[][] results = getFileStates(Dao.selectReader());
model.setDataVector(results,columnNames);
table.setModel(model);
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -