📄 createframe.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 CreateFrame extends JFrame implements ActionListener{
private SearchFrame parent;
private Student st;
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 createButton;
private JButton cancel;
private Container contentPane;
public CreateFrame(SearchFrame parent) {
try {
//设置显示外观为本地系统外观,注意此句需放在初始化所有控件之前
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
this.parent=parent;
initComponents();
}
private void initComponents() {
contentPane=getContentPane();
contentPane.setLayout(null);
id=new JLabel();
id.setText("学号");
id.setFont(new Font("",Font.BOLD,18));
//name.setPreferredSize(new Dimension(50, 30));
id.setBounds(50, 20, 100, 30);
contentPane.add(id);
idText=new JTextField();
db=new DBUnit();
idText.setText(String.valueOf(db.getNewStudentID()));
db.closeConnection();
idText.disable();
idText.setBounds(150, 20, 100, 30);
contentPane.add(idText);
name=new JLabel();
name.setText("姓名");
name.setFont(new Font("",Font.BOLD,18));
//name.setPreferredSize(new Dimension(50, 30));
name.setBounds(50, 70, 100, 30);
contentPane.add(name);
nameText=new JTextField();
nameText.setBounds(150, 70, 100, 30);
contentPane.add(nameText);
gander=new JLabel();
gander.setText("性别");
gander.setFont(new Font("",Font.BOLD,18));
//name.setPreferredSize(new Dimension(50, 30));
gander.setBounds(50, 120, 100, 30);
contentPane.add(gander);
String[] s={"男","女"};
ganderComboBox=new JComboBox(s);
ganderComboBox.setBounds(150, 120, 100, 30);
contentPane.add(ganderComboBox);
major=new JLabel();
major.setText("专业");
major.setFont(new Font("",Font.BOLD,18));
//name.setPreferredSize(new Dimension(50, 30));
major.setBounds(50, 170, 100, 30);
contentPane.add(major);
majorText=new JTextField();
majorText.setBounds(150, 170, 100, 30);
contentPane.add(majorText);
grade=new JLabel();
grade.setText("班级");
grade.setFont(new Font("",Font.BOLD,18));
//name.setPreferredSize(new Dimension(50, 30));
grade.setBounds(50, 220, 100, 30);
contentPane.add(grade);
gradeText=new JTextField();
gradeText.setBounds(150, 220, 100, 30);
contentPane.add(gradeText);
telephone=new JLabel();
telephone.setText("联系电话");
telephone.setFont(new Font("",Font.BOLD,18));
//name.setPreferredSize(new Dimension(50, 30));
telephone.setBounds(50, 270, 100, 30);
contentPane.add(telephone);
telephoneText=new JTextField();
telephoneText.setBounds(150, 270, 100, 30);
contentPane.add(telephoneText);
address=new JLabel();
address.setText("家庭住址");
address.setFont(new Font("",Font.BOLD,18));
//name.setPreferredSize(new Dimension(50, 30));
address.setBounds(50, 320, 100, 30);
contentPane.add(address);
addressText=new JTextField();
addressText.setBounds(150, 320, 200, 30);
contentPane.add(addressText);
createButton=new JButton("新建");
createButton.setFont(new Font("",Font.BOLD,15));
createButton.setBounds(80, 400, 100, 30);
createButton.addActionListener(this);
contentPane.add(createButton);
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.setTitle("新建学生信息");
this.setVisible(true);
this.setResizable(false);
pack();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
SearchFrame sf=new SearchFrame();
new CreateFrame(sf).setVisible(true);
}
});
}
//判断是否有信息未输入
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.setID(idText.getText());
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事件后的实现的逻辑,在这里指JButton点击事件
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="insert into Students_Information(name,gander,major,grade,address,telephone) values('"+nameText.getText().trim()+"','"+ganderComboBox.getSelectedItem().toString()+"','"+majorText.getText().trim()+"','"+gradeText.getText().trim()+"','"+addressText.getText().trim()+"','"+telephoneText.getText().trim()+"')";
db.updateSQL(sql);
db.closeConnection();
//插入记录后,提示用户创建成功的信息
String message="成功新建该学生信息";
//显示提示框,提示用户
JOptionPane.showMessageDialog(this, message);
//将创建的学生信息保存在Student对象中
st=new Student();
this.setStudent(st);
//将Student对象传入查询界面,并更新查询界面
parent.afterCreate(st);
//关闭新建界面
this.dispose();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -