📄 readermanageraction.java
字号:
package librarymanagement.action.dialogAction;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import librarymanagement.common.GetJTable;
import librarymanagement.dao.common.DbException;
import librarymanagement.dao.libraryDao.LibraryDao;
import librarymanagement.dao.libraryDao.LibraryDaoIpml;
import librarymanagement.dao.readerManagerDao.ReaderManagerDao;
import librarymanagement.dao.readerManagerDao.ReaderManagerdaoImp;
import librarymanagement.factory.MainFrameFactory;
import librarymanagement.view.common.CheckInputText;
import librarymanagement.view.dialog.ReaderMangement;
import librarymanagement.view.dialog.base.BaseDialog;
import librarymanagement.vo.BookVo;
import librarymanagement.vo.ReaderVo;
public class ReaderManagerAction implements ActionListener {
BaseDialog baseDialog;
private JFileChooser fileChooser;
CheckInputText check = new CheckInputText();
ReaderManagerDao readerDao = new ReaderManagerdaoImp();
public ReaderManagerAction(BaseDialog baseDialog) {
this.baseDialog = baseDialog;
}
public void actionPerformed(ActionEvent e) {
String name = e.getActionCommand();
if (name.equals("查询")) {
String info = baseDialog.getTextInfo();
if (check.checkInputIsNull(info)) {
JOptionPane.showMessageDialog(null, "请输入你要查找的读者编号!", "提示信息",
JOptionPane.YES_OPTION);
return;
} else if (check.checkIsContainCharactor(info)) {
JOptionPane.showMessageDialog(null, "您输入的信息不正确,请输入数字形式的编号",
"提示信息", JOptionPane.YES_OPTION);
return;
}
else {
int in = Integer.parseInt(info);
ReaderVo rv = readerDao.getReaderVo(in);
if (rv == null) {
JOptionPane.showMessageDialog(null, "数据库中没有这个编号的读者!",
"提示信息", JOptionPane.YES_OPTION);
return;
} else {
JTable table = baseDialog.buildJTable();
DefaultTableModel model = (DefaultTableModel) table
.getModel();
int rows = model.getRowCount();
for (int i = rows - 1; i >= 0; i--) {
model.removeRow(i);
}
Object[] data = { new Integer(rv.getReaderId()),
rv.getReaderName(), rv.getSex(), rv.getAcd(),
rv.getTell(),rv.getJob(),rv.getZhengId(),rv.getEMail(),
rv.getRegisterDate()
};
model.addRow(data);
}
}
} else if (name.equals("添加")) {
new MainFrameFactory().getInstance("增加读者").getContainer()
.setVisible(true);
} else if (name.equals("修改")) {
new MainFrameFactory().getInstance("修改").getContainer()
.setVisible(true);
} else if (name.equals("删除")) {
Vector v = null;
JTable table = baseDialog.buildJTable();
int row = table.getSelectedRow();
if (row >= 0) {
// int book_id = Integer.parseInt(table.getValueAt(row, 0)
// .toString());
int reader_id =Integer.parseInt( table.getValueAt(row, 0)
.toString());//获得某行第0列的值
int ch = JOptionPane.showConfirmDialog(null, "你确定要删除该条记录吗?",
"图书数据删除", JOptionPane.YES_NO_OPTION);
if (ch == JOptionPane.YES_OPTION) {
if (readerDao.deleteReaderById(reader_id)) {
JOptionPane.showMessageDialog(null, "数据删除成功", "info",
JOptionPane.YES_OPTION);
DefaultTableModel model = (DefaultTableModel) table
.getModel();
model.removeRow(row);
}
}
table.setRequestFocusEnabled(false);
} else {
JOptionPane.showMessageDialog(null, "请选择你要删除的记录", "删除提示",
JOptionPane.YES_OPTION);
table.setRequestFocusEnabled(false);
}
} else if (name.equals("刷新")) {
Vector v = null;
try {
v = readerDao.findReaderInfo();
if (v.size() != 0) {
DefaultTableModel model = (DefaultTableModel) baseDialog.buildJTable()
.getModel();
int rows = model.getRowCount();
for (int i = rows - 1; i >= 0; i--) {
model.removeRow(i);
}
Iterator iter = v.iterator();
while (iter.hasNext()) {
ReaderVo value = (ReaderVo) iter.next();
Object[] data = { new Integer(value.getReaderId()),
value.getReaderName(), value.getSex(), value.getAcd(),
value.getTell(),value.getJob(),value.getZhengId(),value.getEMail(),
value.getRegisterDate() };
model.addRow(data);
}
}
} catch (DbException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "数据查找",
JOptionPane.YES_OPTION);
return;
}
} else if (name.equals("显示全部")) {
Vector v = null;
try {
v = readerDao.findReaderInfo();
if (v.size() != 0) {
DefaultTableModel model = (DefaultTableModel) baseDialog.buildJTable()
.getModel();
int rows = model.getRowCount();
for (int i = rows - 1; i >= 0; i--) {
model.removeRow(i);
}
Iterator iter = v.iterator();
while (iter.hasNext()) {
ReaderVo value = (ReaderVo) iter.next();
Object[] data = { new Integer(value.getReaderId()),
value.getReaderName(), value.getSex(), value.getAcd(),
value.getTell(),value.getJob(),value.getZhengId(),value.getEMail(),
value.getRegisterDate() };
model.addRow(data);
}
}
} catch (DbException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "数据查找",
JOptionPane.YES_OPTION);
return;
}
} else if (name.equals("转Excel")) {
String fileName = null;
fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File("."));
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
File file = null;
if (fileName == null) {
int result = fileChooser.showSaveDialog(baseDialog);
if (result == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
fileName = file.getAbsolutePath();
System.out.println(fileName);
} else {
return;
}
}
try {
ExportReaderInfo exportAction = new ExportReaderInfo();
String fileNameSave = file.getAbsolutePath() + fileName;
Vector data = readerDao.findReaderInfo();// 得到所有读者信息
exportAction.writeExcelOfFile(fileName, data, null);
// 记录到数据库中去
String content = "导出读者信息 ";
JOptionPane.showMessageDialog(null, "已导出到工程目录下,请刷新工程");
} catch (DbException ex) {
JOptionPane.showConfirmDialog(null, ex.getMessage(),"异常提示",JOptionPane.YES_OPTION);
}
baseDialog.setVisible(false);
}else if (name.equals("退出")) {
baseDialog.dispose();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -