📄 changeframe.java
字号:
package com.function;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
public class ChangeFrame extends JFrame implements ActionListener{
private SearchFrame parent;
private Student student;
private DBUnit db;
private JLabel id;
private JTextField idText;
private JLabel name;
private JTextField nameText;
private JLabel gander;
private JComboBox ganderComboBox;
private JLabel major;
private JTextField majorText;
private JLabel grade;
private JTextField gradeText;
private JLabel address;
private JTextField addressText;
private JLabel telephone;
private JTextField telephoneText;
private JButton changeButton;
private JButton cancel;
private Container contentPane;
public ChangeFrame(Student student,SearchFrame parent) {
try {
//设置显示外观为本地系统外观,注意此句需放在初始化所有控件之前
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
this.student=student;
this.parent=parent;
initComponents();
}
private void initComponents() {
contentPane=getContentPane();
contentPane.setLayout(null);
id=new JLabel();
id.setText("学号");
id.setFont(new Font("",Font.BOLD,18));
id.setBounds(50, 20, 100, 30);
contentPane.add(id);
idText=new JTextField();
idText.setText(String.valueOf(student.getID()));
idText.disable();
idText.setBounds(150, 20, 100, 30);
contentPane.add(idText);
name=new JLabel();
name.setText("姓名");
name.setFont(new Font("",Font.BOLD,18));
name.setBounds(50, 70, 100, 30);
contentPane.add(name);
nameText=new JTextField();
nameText.setText(student.getName());
nameText.setBounds(150, 70, 100, 30);
contentPane.add(nameText);
gander=new JLabel();
gander.setText("性别");
gander.setFont(new Font("",Font.BOLD,18));
gander.setBounds(50, 120, 100, 30);
contentPane.add(gander);
String[] s={"男","女"};
ganderComboBox=new JComboBox(s);
ganderComboBox.setSelectedItem(student.getGander());
ganderComboBox.setBounds(150, 120, 100, 30);
contentPane.add(ganderComboBox);
major=new JLabel();
major.setText("专业");
major.setFont(new Font("",Font.BOLD,18));
major.setBounds(50, 170, 100, 30);
contentPane.add(major);
majorText=new JTextField();
majorText.setText(student.getMajor());
majorText.setBounds(150, 170, 100, 30);
contentPane.add(majorText);
grade=new JLabel();
grade.setText("班级");
grade.setFont(new Font("",Font.BOLD,18));
grade.setBounds(50, 220, 100, 30);
contentPane.add(grade);
gradeText=new JTextField();
gradeText.setText(student.getGrade());
gradeText.setBounds(150, 220, 100, 30);
contentPane.add(gradeText);
telephone=new JLabel();
telephone.setText("联系电话");
telephone.setFont(new Font("",Font.BOLD,18));
telephone.setBounds(50, 270, 100, 30);
contentPane.add(telephone);
telephoneText=new JTextField();
telephoneText.setText(student.getTelephone());
telephoneText.setBounds(150, 270, 100, 30);
contentPane.add(telephoneText);
address=new JLabel();
address.setText("家庭住址");
address.setFont(new Font("",Font.BOLD,18));
address.setBounds(50, 320, 100, 30);
contentPane.add(address);
addressText=new JTextField();
addressText.setText(student.getAddress());
addressText.setBounds(150, 320, 200, 30);
contentPane.add(addressText);
changeButton=new JButton("修改");
changeButton.setFont(new Font("",Font.BOLD,15));
changeButton.setBounds(80, 400, 100, 30);
changeButton.addActionListener(this);
contentPane.add(changeButton);
cancel=new JButton("取消");
cancel.setFont(new Font("",Font.BOLD,15));
cancel.setBounds(300, 400, 100, 30);
cancel.addActionListener(this);
contentPane.add(cancel);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
//把窗口放在屏幕中间
this.setPreferredSize(new Dimension(500, 500));
this.setBounds(screenSize.width/2-250,screenSize.height/2-250,500,500);
this.setVisible(true);
this.setTitle("修改学生信息");
this.setResizable(false);
pack();
}
/**
* @param args
*/
public static void main(String[] args) {
}
//判断是否有信息未输入
private boolean isNull(){
if(nameText.getText().trim().equals("")||majorText.getText().trim().equals("")||gradeText.getText().trim().equals("")||telephoneText.getText().trim().equals("")||addressText.getText().trim().equals("")){
return true;
}
else{
return false;
}
}
//将输入的学生信息保存在Student对象中
private void setStudent(Student student){
student.setName(nameText.getText());
student.setGander(ganderComboBox.getSelectedItem().toString());
student.setMajor(majorText.getText());
student.setGrade(gradeText.getText());
student.setAddress(addressText.getText());
student.setTelephone(telephoneText.getText());
}
//捕捉到ActionEvent事件后的实现的逻辑,这里指按钮点击事件
public void actionPerformed(ActionEvent e) {
// 点击"取消"按钮
if(e.getActionCommand().equals("取消")){
this.dispose();
}
//点击"修改"按钮
if(e.getActionCommand().equals("修改")){
//如果有空信息,显示提示框提示需填写所有信息
if (isNull()){
//用户需输入所有信息的提示
String message="所有信息都必须填写";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message);
}
else{
db=new DBUnit();
//修改相关数据库记录的SQL语句
String sql="update Students_Information set name='"+nameText.getText().trim()+"',gander='" +ganderComboBox.getSelectedItem().toString()+"',major='"+majorText.getText().trim()+"',grade='"+gradeText.getText().trim()+"',address='"+addressText.getText().trim()+"',telephone='"+telephoneText.getText().trim()+"' where id="+idText.getText();
//根据数据库传回的记录数判断是否修改成功
if(db.updateSQL(sql)>=1){
db.closeConnection();
//成功修改记录提示信息
String message="成功修改该学生信息";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message);
//将修改后的学生信息保存进Student对象
this.setStudent(student);
//将修改后的学生信息传给查询界面并更新
parent.afterChange(student);
this.dispose();
}
else{
//修改失败的提示信息
String message="修改该学生信息失败";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -