📄 editdatadialog.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class EditDataDialog extends JDialog {
/**
* 编辑对话框的实现
*/
private static final long serialVersionUID = 1L;
public EditDataDialog(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);
textSID.setEditable(false);
setSize(500,150);
}
public void initPanel(){
inputPanel.add(sidLabel);
inputPanel.add(textSID);
inputPanel.add(nameLabel);
inputPanel.add(textName);
inputPanel.add(scoreLabel);
inputPanel.add(textScore);
buttonPanel.add(btnEdit);
buttonPanel.add(btnCancle);
mainPanel.setLayout(new BorderLayout(0,0));
mainPanel.add(inputPanel,"Center");
mainPanel.add(buttonPanel,"South");
}
public void registerEventListener(){
btnEdit.addActionListener(new EditActionListener());
btnCancle.addActionListener(new CancleActionListener());
}
private class EditActionListener implements ActionListener{
public void actionPerformed(ActionEvent event){
if(!dataCheck())//检验数据
return;
//修改原有Student的数据
editStudent.setSName(name);
editStudent.setScore(score);
//继续后续操作...
frame.updateList(ConnToAcc.UPDATE, sid, name, score);
setVisible(false);
}
}
private class CancleActionListener implements ActionListener{
public void actionPerformed(ActionEvent event){
setVisible(false);
}
}
public void setEditStudent(Student editStudent){
this.editStudent = editStudent;
}
public void setDataText(int sid, String name, float score){
textSID.setText(Integer.toString(editStudent.getSID()));
textName.setText(editStudent.getSName());
textScore.setText(Float.toString(editStudent.getScore()));
}
private boolean dataCheck(){
try{
score= Float.parseFloat(textScore.getText().trim());
}
catch(Exception e){
score = -1;
}
if(textName.getText().length()>4 || textName.getText().length()<1){
JOptionPane.showMessageDialog(null, "输入的数据不正确:姓名必须为2-4个汉字", "输入错误", 0);
return false;
}
if(score<0 || score >100){
JOptionPane.showMessageDialog(null, "输入的数据不正确:成绩必须为0-100的数字", "输入错误", 0);
return false;
}
else {
sid = editStudent.getSID();
name = textName.getText();
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 btnEdit = new JButton("修改");
private JButton btnCancle = new JButton("取消");
private Student editStudent;
private int sid;
private String name;
private float score;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -