📄 addstudent.java
字号:
package StudentManagement;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.sql.*;
public class AddStudent extends JFrame implements ActionListener {
// 声明部分
JPanel panel1, panel2;
JLabel lblNumber, lblName, lblSex, lblAge, lblDepartment;
JTextField txtNumber, txtName, txtSex, txtAge, txtDepartment;
JButton btnOK, btnCancel, btnExit;
Connection conn;
Statement stmt;
ResultSet rs;
// 构造方法
public AddStudent(String title) {
super(title);
initialize();
}
private void initialize() {
// 创建组件
panel1 = new JPanel();
panel2 = new JPanel();
lblNumber = new JLabel("学号:");
lblName = new JLabel("姓名:");
lblSex = new JLabel("性别:");
lblAge = new JLabel("年龄:");
lblDepartment = new JLabel("系名:");
txtNumber = new JTextField("", 10);
txtName = new JTextField("", 10);
txtSex = new JTextField("", 5);
txtAge = new JTextField("", 5);
txtDepartment = new JTextField("", 15);
btnOK = new JButton("确定[O]");
btnCancel = new JButton("取消[C]");
btnExit = new JButton("退出[X]");
// 添加组件
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(panel1, "Center");
this.getContentPane().add(panel2, "South");
panel1.setLayout(new GridLayout(5, 2));
panel1.add(lblNumber);
panel1.add(txtNumber);
panel1.add(lblName);
panel1.add(txtName);
panel1.add(lblSex);
panel1.add(txtSex);
panel1.add(lblAge);
panel1.add(txtAge);
panel1.add(lblDepartment);
panel1.add(txtDepartment);
panel2.add(btnOK);
panel2.add(btnCancel);
panel2.add(btnExit);
// 设置属性
this.setSize(500, 300);
this.setResizable(false);
this.pack();
this.setLocationRelativeTo(null);
this.setVisible(true);
btnOK.setMnemonic(KeyEvent.VK_O);
btnCancel.setMnemonic(KeyEvent.VK_C);
btnExit.setMnemonic(KeyEvent.VK_X);
// 注册监听器
btnOK.addActionListener(this);
btnCancel.addActionListener(this);
btnExit.addActionListener(this);
try {
// 安装驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 连接数据库
conn = DriverManager.getConnection("jdbc:odbc:student");
// 创建SQL语句
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "显示学生表记录",
JOptionPane.ERROR_MESSAGE);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "显示学生表记录",
JOptionPane.ERROR_MESSAGE);
}
}
// 编写事件处理代码
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnOK) {
if (txtNumber.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, "学号不能为空!", "增加学生记录",
JOptionPane.WARNING_MESSAGE);
txtNumber.requestFocus();
} else {
try {
//判断学号文本框里输入的是否全是数字
if(!isNumber(txtNumber.getText().trim())){
JOptionPane.showMessageDialog(null, "注意:学号全由数字构成!", "增加学生记录",
JOptionPane.WARNING_MESSAGE);
txtNumber.setText("");
txtNumber.requestFocus();
}else{
//判断年龄文本框里输入的是否全是数字
if(!isNumber(txtAge.getText().trim())){
JOptionPane.showMessageDialog(null, "注意:年龄全由数字构成!", "增加学生记录",
JOptionPane.WARNING_MESSAGE);
txtAge.setText("");
txtAge.requestFocus();
}else{
long number = Long.parseLong(txtNumber.getText().trim());
String name = txtName.getText().trim();
String sex = txtSex.getText().trim();
int age = Integer.parseInt(txtAge.getText().trim());
String department = txtDepartment.getText().trim();
String strSQL = "insert into studentbase values(" + number
+ ",'" + name + "', " + age + ", '" + sex + "', '"
+ department + "');";
stmt.execute(strSQL);
JOptionPane.showMessageDialog(null, "添加记录成功!", "增加学生记录",
JOptionPane.INFORMATION_MESSAGE);
txtNumber.setText("");
txtName.setText("");
txtSex.setText("");
txtAge.setText("");
txtDepartment.setText("");
txtNumber.requestFocus();
}
}
} catch (SQLException e1) {
JOptionPane.showMessageDialog(null, e1.getMessage(),
"增加学生记录", JOptionPane.ERROR_MESSAGE);
}
}
} else if (e.getSource() == btnCancel) {
txtNumber.setText("");
txtName.setText("");
txtSex.setText("");
txtAge.setText("");
txtDepartment.setText("");
txtNumber.requestFocus();
} else if (e.getSource() == btnExit) {
this.dispose();
}
}
//判断一个字符串是否全是数字
boolean isNumber(String str){
for(int i=0;i<str.length();i++){
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
return false;
}
}
return true;
}
//主方法
public static void main(String[] args) {
new AddStudent("增加学生记录");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -