📄 adddatadialog.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AddDataDialog extends JDialog {
/**
* 添加对话框的实现
*/
private static final long serialVersionUID = 1L;
public AddDataDialog(MainFrame frame) {
super(frame,"添加数据",true);
this.frame = frame;
initPanel();
registerEventListener();
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int x = (screenSize.width-500)/2;
int y = (screenSize.height-250)/2;
setLocation(x,y);
getRootPane().setDefaultButton(btnCancle);
setContentPane(mainPanel);
setSize(500,150);
setVisible(true);
}
public void initPanel(){
inputPanel.add(sidLabel);
inputPanel.add(textSID);
inputPanel.add(nameLabel);
inputPanel.add(textName);
inputPanel.add(scoreLabel);
inputPanel.add(textScore);
buttonPanel.add(btnAdd);
buttonPanel.add(btnCancle);
mainPanel.setLayout(new BorderLayout(0,0));
mainPanel.add(inputPanel,"Center");
mainPanel.add(buttonPanel,"South");
}
public void registerEventListener(){
btnAdd.addActionListener(new AddActionListener());
btnCancle.addActionListener(new CancleActionListener());
}
private class AddActionListener implements ActionListener{
public void actionPerformed(ActionEvent event){
if(!dataCheck())//检验数据
return;
if(sid>=0){
//继续后续操作...
textSID.setText("");
textName.setText("");
textScore.setText("");
frame.updateList(ConnToAcc.INSERT, sid, name, score);
}
}
}
private class CancleActionListener implements ActionListener{
public void actionPerformed(ActionEvent event){
setVisible(false);
}
}
private boolean dataCheck(){
sid = -1;
score = -1;
try{
sid = Integer.parseInt(textSID.getText().trim());
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "输入的数据不正确:学号必须为4位数字", "输入错误", 0);
return false;
}
try{
score= Float.parseFloat(textScore.getText().trim());
}
catch(Exception e){}
if(sid<1000 || sid>9999){
JOptionPane.showMessageDialog(null, "输入的数据不正确:学号必须为4位数字", "输入错误", 0);
return false;
}
if(textName.getText().length()>4 || textName.getText().length()<2){
JOptionPane.showMessageDialog(null, "输入的数据不正确:姓名必须为2-4个汉字", "输入错误", 0);
return false;
}
if(score<0 || score >100){
JOptionPane.showMessageDialog(null, "输入的数据不正确:成绩必须为0-100的数字", "输入错误", 0);
return false;
}
else {
name = textName.getText().trim();
return true;
}
}
private MainFrame frame;
private JPanel mainPanel = new JPanel();
private JPanel inputPanel = new JPanel();
private JPanel buttonPanel = new JPanel();
private JLabel sidLabel = new JLabel("学号:");
private JLabel nameLabel = new JLabel("姓名:");
private JLabel scoreLabel = new JLabel("分数:");
private JTextField textSID = new JTextField(8);
private JTextField textName = new JTextField(8);
private JTextField textScore = new JTextField(4);
private JButton btnAdd = new JButton("添加");
private JButton btnCancle = new JButton("返回");
private int sid;
private String name;
private float score;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -