package frame;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Vector;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import pojo.cla;
import pojo.student;
import service.claService;
import service.claServiceImpl;
import service.studentService;
import service.studentServiceImpl;
public class StudentPanel extends JPanel {
private studentService ss = new studentServiceImpl();
private claService cs = new claServiceImpl();
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private JSplitPane jSplitPane;
private JScrollPane jScrollPane;
private JTable jTable;
private StudentTableMode myTableMode;
private JPanel operPanel, p1, p2, p3, p4, p5, p6, p7;
private JLabel jLabel1, jLabel2, jLabel3, jLabel4;
private JTextField jTextField1, jTextField2, jTextField3, jTextField4;
private JButton jButton1, jButton2, jButton3, jButton4;
private JRadioButton jRadioButton1, jRadioButton2;
private ButtonGroup buttonGroup;
private JComboBox<cla> jComboBox;
List<cla> clist = null;
private void initComponent() {
// 设置上下分割
jSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
List<student> list = ss.queryAll();
myTableMode = new StudentTableMode(list);
jTable = new JTable(myTableMode);
jScrollPane = new JScrollPane(jTable);
operPanel = new JPanel();
// 主键
p6 = new JPanel();
jLabel4 = new JLabel("ID:");
jTextField4 = new JTextField(15);
jTextField4.setEnabled(false);
// 姓名
p1 = new JPanel();
jLabel1 = new JLabel("姓名:");
jTextField1 = new JTextField(15);
// 年龄
p2 = new JPanel();
jLabel2 = new JLabel("年龄:");
jTextField2 = new JTextField(15);
// 按钮
p3 = new JPanel();
jButton1 = new JButton("保存");
jButton2 = new JButton("取消");
jButton3 = new JButton("删除");
jButton4 = new JButton("清空");
// 性别
p4 = new JPanel();
jRadioButton1 = new JRadioButton("男");
jRadioButton1.setSelected(true);
jRadioButton2 = new JRadioButton("女");
buttonGroup = new ButtonGroup();
// 日期
p5 = new JPanel();
jLabel3 = new JLabel("日期");
jTextField3 = new JTextField(15);
jTextField3.setText(sdf.format(new Date()));
jTextField3.setEditable(false);
// 下拉框
clist = cs.queryAll();
Vector<cla> v = new Vector<cla>(clist);
jComboBox = new JComboBox<>(v);
p7 = new JPanel();
}
private void addComponent() {
operPanel.setLayout(new GridLayout(7, 1));
//ID
p6.add(jLabel4);
p6.add(jTextField4);
operPanel.add(p6);
// 姓名
p1.add(jLabel1);
p1.add(jTextField1);
operPanel.add(p1);
// 年龄
p2.add(jLabel2);
p2.add(jTextField2);
operPanel.add(p2);
// 性别
buttonGroup.add(jRadioButton1);
buttonGroup.add(jRadioButton2);
p4.add(jRadioButton1);
p4.add(jRadioButton2);
operPanel.add(p4);
// 日期
p5.add(jLabel3);
p5.add(jTextField3);
operPanel.add(p5);
//班级下拉框
p7.add(jComboBox);
operPanel.add(p7);
// 按钮
p3.add(jButton1);
p3.add(jButton3);
p3.add(jButton4);
p3.add(jButton2);
operPanel.add(p3);
// 设置分割线
jSplitPane.setDividerLocation(400);
// 设置分割线粗细
jSplitPane.setDividerSize(5);
jSplitPane.setTopComponent(jScrollPane);
jSplitPane.setBottomComponent(operPanel);
// 设置边界布局
this.setLayout(new BorderLayout());
this.add(jSplitPane, BorderLayout.CENTER);
operPanel.setBackground(Color.blue);
}
public void addListener() {// 给组件加功能
jTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int index = jTable.rowAtPoint(e.getPoint());
student stu = myTableMode.getstu(index);
jTextField4.setText(stu.getSid()+ "");
jTextField1.setText(stu.getSname());
jTextField2.setText(stu.getAge() + "");
if (stu.getSex().equals("1")) {
jRadioButton1.setSelected(true);
}
if (stu.getSex().equals("0")) {
jRadioButton2.setSelected(true);
}
int id = stu.getCid();
for (cla c : clist) {
if (id == c.getId()) {
jComboBox.setSelectedItem(c.getId());
break;
}
}
}
});
jButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
student student = new student();
// 姓名
String name = jTextField1.getText();
student.setSname(name);
// 年龄
int age = Integer.parseInt(jTextField2.getText());
student.setAge(age);
// 性别
if (jRadioButton1.isSelected()) {
student.setSex("1");
}
if (jRadioButton2.isSelected()) {
student.setSex("0");
}
// 日期
String date = jTextField3.getText();
try {
student.setDate(sdf.parse(date));
} catch (ParseException e1) {
e1.printStackTrace();
}
//ID
String id = jTextField4.getText();
System.out.println("--"+id+"--");
if(id != null && !id.equals("")){
student.setSid(Integer.parseInt(id));
}
//班级下拉框
cla cla = (cla)jComboBox.getSelectedItem();
int cid = cla.getId();
student.setCid(cid);
if(id == null || id.equals("")){
// 添加数据库
int c = ss.addstudent(student);
if (c == 1) {
JOptionPane.showMessageDialog(StudentPanel.this, "新增成功", "提示", JOptionPane.PLAIN_MESSAGE);
System.out.println(c);
}
}else{
int c = ss.updateStudent(student);
if (c == 1){
JOptionPane.showMessageDialog(StudentPanel.this, "修改成功", "提示", JOptionPane.PLAIN_MESSAGE);
}
}
// 查询数据库
List<student> list = ss.queryAll();
myTableMode.setList(list);
jTable.updateUI();
}
});
jButton3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String id = jTextField4.getText();
int c = ss.deleteStudent(Integer.parseInt(id));
if(c == 1){
JOptionPane.showMessageDialog(StudentPanel.this, "删除成功", "提示", JOptionPane.PLAIN_MESSAGE);
List<student> list = ss.queryAll();
myTableMode.setList(list);
jTable.updateUI();
}
}
});
jButton4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jTextField4.setText("");
jTextField2.setText("");
jTextField1.setText("");
}
});
}
public StudentPanel() {
initComponent();
addComponent();
addListener();
}
}
xueshengguanli.zip_quiteicb_学生管理系统
版权申诉
177 浏览量
2022-09-15
02:04:17
上传
评论
收藏 43KB ZIP 举报
钱亚锋
- 粉丝: 90
- 资源: 1万+
最新资源
- tensorflow-rocm-2.10.1.540-cp37-cp37m-manylinux2014-x86-64.whl
- tensorflow-2.9.1-cp37-cp37m-win-amd64.whl
- stream.x86.zh-cn.datstream.x86.zh-cn.datstream.x86.zh-cn.dat
- 员工考勤系统.docx
- stream.x64.zh-cn.datstream.x64.zh-cn.datstream.x64.zh-cn.dat
- stream.x86.x-none.datstream.x86.x-none.dat
- 使用JAVA调用GDAL实现KMZ和KML文件解析源代码
- 企业级网络设计与配置实战案例
- Elasticsearch实战
- spark+hadoop大数据处理学习笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈