package com.ui;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import com.domain.Student;
// TODO: Auto-generated Javadoc
public class ManagerMainWindow extends JFrame implements ActionListener {
public static void main(String[] args) {
ManagerMainWindow mmw = new ManagerMainWindow();
}
public ManagerMainWindow() {
init();
this.setActionCommand();
this.setTitle("学生信息管理系统");
this.setSize(580, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
/** * 初始化窗体 */
private void init() {
// 创建组件
this.lbId = new JLabel("待查学生编号");
this.butInsert = new JButton("增加");
this.butDelete = new JButton("删除");
this.butUpdate = new JButton("修改");
this.butSelect = new JButton("查询");
this.butShowAll = new JButton("显示所有");
this.loginout = new JButton("退出");
this.tfId = new JTextField(10);
this.jpNorth = new JPanel();
this.jpSouth = new JPanel();
this.stm = new StudentTableModel();
stm.showAllData();
this.jt = new JTable(stm);
this.jsp = new JScrollPane(jt);
// 将组件添加到面板
jpNorth.add(lbId);
jpSouth.add(tfId);
jpSouth.add(butSelect);
jpSouth.add(butInsert);
jpSouth.add(butDelete);
jpSouth.add(butUpdate);
jpSouth.add(butShowAll);
jpSouth.add(loginout);
// 将面板添加到窗体 this.add(jpNorth, BorderLayout.NORTH);
this.add(jsp, BorderLayout.CENTER);
this.add(jpSouth, BorderLayout.SOUTH);
}
private void setActionCommand() {
this.butInsert.addActionListener(this);
this.butDelete.addActionListener(this);
this.butUpdate.addActionListener(this);
this.butSelect.addActionListener(this);
this.butShowAll.addActionListener(this);
this.loginout.addActionListener(this);
this.butInsert.setActionCommand("insert");
this.butDelete.setActionCommand("delete");
this.butUpdate.setActionCommand("update");
this.butSelect.setActionCommand("select");
this.butShowAll.setActionCommand("show");
this.loginout.setActionCommand("loginout");
}
// 事件处理
@Override
public void actionPerformed(ActionEvent e) {
// 如果用户点击添加
if (e.getActionCommand().equals("insert")) {
// System.out.println("insert");
// 弹出添加对话框,并得到添加对话框中输入的值
Student stu = new StudentInsertDialog(this, "添加学生信息", true).getStu();
// 如果没有点取消
if (null != stu) {
StudentTableModel stutm = new StudentTableModel();// 生成新的model
stutm.insertStu(stu);// 执行插入
jt.setModel(stutm);// 更新表格model
}
}
// 如果点击删除
else if (e.getActionCommand().equals("delete")) {
// System.out.println("delete");
// 得到用户选择的行的行号
int delIndex = jt.getSelectedRow();
// 如果没有选择任何行,则提醒选择一行
if (-1 == delIndex) {
JOptionPane.showMessageDialog(this, "请选择一行之后,再进行删除操作", "警告", JOptionPane.WARNING_MESSAGE);
}
if (-1 != delIndex) {
String idStr = (String) stm.getValueAt(delIndex, 0);
int id = Integer.valueOf(idStr).intValue();
// System.out.println(xuehao);
StudentTableModel stuTm = new StudentTableModel();// 生成新的model
stuTm.deleteStu(id);// 执行删除
jt.setModel(stuTm);// 更新表格model
}
} // 如果用户选择更新
else if (e.getActionCommand().equals("update")) {
// System.out.println("update");
// 得到用户选择的行的行号
int updataRowIndex = this.jt.getSelectedRow();
// 如果没有选择任何行,则提醒选择一行
if (-1 == updataRowIndex) {
JOptionPane.showMessageDialog(this, "请选择一行之后,再进行修改操作", "警告", JOptionPane.WARNING_MESSAGE);
}
if (-1 != updataRowIndex) {
Student stu = new Student();
stu.setXuehao(Integer.valueOf((String) stm.getValueAt(updataRowIndex, 0)).intValue());
stu.setName((String) stm.getValueAt(updataRowIndex, 1));
stu.setPassword((String) stm.getValueAt(updataRowIndex, 2));
stu.setAge(Integer.valueOf((String) stm.getValueAt(updataRowIndex, 3)).intValue());
stu.setSex((String) stm.getValueAt(updataRowIndex, 4));
Student stu2 = new StudentUpdateDialog(this, "修改学生信息", true, stu).getStu();
// 如果修改了学生信息,则更新
if (null != stu2) {
StudentTableModel stutm = new StudentTableModel();
stutm.updateStu(stu2);// 执行更新
jt.setModel(stutm);// 更新表格model
// System..out.println(stu.toString());
}
}
}
// 如果选择查询
else if (e.getActionCommand().equals("select")) {
// System.out.println("select");
// 得到输入的学生编号
int id = Integer.valueOf(tfId.getText()).intValue();
StudentTableModel stutm = new StudentTableModel();// 生成新 model
try{
String name = stutm.selectStuXuehao(id).getName();// 执行查询
}catch(Exception a){
JOptionPane.showMessageDialog(this, "没有此学生", "警告", JOptionPane.WARNING_MESSAGE);
stutm.showAllData();
jt.setModel(stutm);
}
jt.setModel(stutm);// 更新表格model
}
// 如果选择显示所有
else if (e.getActionCommand().equals("show")) {
// System.out.println("show");
StudentTableModel stutm = new StudentTableModel();// 生成新的model
stutm.showAllData();// 执行显示所有
jt.setModel(stutm);// 更新表格model
}
// 如果选择退出
else if (e.getActionCommand().equals("loginout")) {
Login login = new Login();
ManagerMainWindow.this.dispose();
}
}
//输入编号标签/
private JLabel lbId;
//接收编号的输入框
private JTextField tfId;
//插入按钮
private JButton butInsert;
//删除按钮
private JButton butDelete;
//更新按钮
private JButton butUpdate;
//查询按钮
private JButton butSelect;
//显示所有按钮
private JButton butShowAll;
//退出
private JButton loginout;
//滚动窗格
private JScrollPane jsp;
//表格
private JTable jt;
//用于初始化表格的model
private StudentTableModel stm;
//北部paenl
private JPanel jpNorth;
// 南部paenl
private JPanel jpSouth;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
stumanager.zip (33个子文件)
student.sql 602B
stusys
.project 382B
src
lib
sqlite-jdbc-3.20.0.jar 6.33MB
mysql-connector-java-5.0.8-bin.jar 528KB
commons-dbutils-1.4.jar 48KB
com
ui
StudentUpdateDialog.java 4KB
ManagerMainWindow.java 7KB
StudentInsertDialog.java 4KB
StudentTableModel.java 3KB
Login.java 3KB
db
DB.java 1KB
db-config.properties 162B
domain
Student.java 1KB
dao
StudentDao.java 562B
impl
StudentDaoImpl.java 2KB
.settings
org.eclipse.jdt.core.prefs 598B
org.eclipse.core.resources.prefs 57B
.classpath 521B
bin
lib
sqlite-jdbc-3.20.0.jar 6.33MB
mysql-connector-java-5.0.8-bin.jar 528KB
commons-dbutils-1.4.jar 48KB
com
ui
Login.class 2KB
ManagerMainWindow.class 5KB
StudentTableModel.class 3KB
StudentUpdateDialog.class 4KB
Login$1.class 2KB
Login$2.class 1KB
StudentInsertDialog.class 4KB
db
DB.class 2KB
db-config.properties 162B
domain
Student.class 2KB
dao
impl
StudentDaoImpl.class 3KB
StudentDao.class 527B
共 33 条
- 1
资源评论
coffee6eans
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功