完成了修改
This commit is contained in:
109
src/view/EditQuestionDialog.java
Normal file
109
src/view/EditQuestionDialog.java
Normal file
@@ -0,0 +1,109 @@
|
||||
package view;
|
||||
|
||||
import backend.model.Questions;
|
||||
import backend.service.impl.QuestionsService;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class EditQuestionDialog extends JDialog{
|
||||
private JTextField nameTextField;
|
||||
private JTextField descriptionTextField;
|
||||
private JTextField answerTextField;
|
||||
private JComboBox frequencyCombobox;
|
||||
private JButton saveButton;
|
||||
private JButton cancelButton;
|
||||
private int type;
|
||||
private Questions question;
|
||||
private QuestionsService questionsService = new QuestionsService();
|
||||
|
||||
public EditQuestionDialog(int type, Questions question) {
|
||||
this.type = type;
|
||||
this.question = question;
|
||||
initView();
|
||||
}
|
||||
|
||||
public void initListener(){
|
||||
saveButton.addActionListener(e->{
|
||||
String name = nameTextField.getText().trim();
|
||||
String description = descriptionTextField.getText().trim();
|
||||
String answer = answerTextField.getText().trim();
|
||||
if(name.equals("")|| description.equals("")|| answer.equals("")) {
|
||||
JOptionPane.showMessageDialog(this, "请填写完整!");
|
||||
return;
|
||||
}
|
||||
Questions questionsPo = new Questions();
|
||||
questionsPo.setName(name);
|
||||
questionsPo.setDescription(description);
|
||||
questionsPo.setAnswer(answer);
|
||||
Integer index=frequencyCombobox.getSelectedIndex();
|
||||
questionsPo.setFrequency(index==0 ? null:index);
|
||||
String message;
|
||||
boolean res;
|
||||
if(type==0) {
|
||||
res = questionsService.insert(questionsPo);
|
||||
message = "添加";
|
||||
}
|
||||
else{
|
||||
questionsPo.setId(question.getId());
|
||||
res = questionsService.update(questionsPo);
|
||||
message = "修改";
|
||||
}
|
||||
if(res)
|
||||
dispose();
|
||||
else
|
||||
JOptionPane.showMessageDialog(this, message+"失败");
|
||||
});
|
||||
cancelButton.addActionListener(e->{
|
||||
dispose();
|
||||
});
|
||||
}
|
||||
private void initView(){
|
||||
setSize(400,300);
|
||||
setLocationRelativeTo(null);//居中
|
||||
add(initPanel());
|
||||
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
|
||||
setModal(true);//设置模态
|
||||
if(type==0)
|
||||
setTitle("添加单词");
|
||||
else{
|
||||
setTitle("修改单词");
|
||||
nameTextField.setText(question.getName());
|
||||
descriptionTextField.setText(question.getDescription());
|
||||
answerTextField.setText(question.getAnswer());
|
||||
frequencyCombobox.setSelectedIndex(question.getFrequency() == null? 0:question.getFrequency());
|
||||
}
|
||||
//细节:要先初始化监听器,再初始化界面
|
||||
//初始化监听器
|
||||
initListener();
|
||||
//显示界面
|
||||
setVisible(true);
|
||||
}
|
||||
private JPanel initPanel(){
|
||||
JPanel mainPanel = new JPanel();
|
||||
mainPanel.setLayout(new GridLayout(5,2));
|
||||
//第一行 单词
|
||||
mainPanel.add(new JLabel("单词"));
|
||||
nameTextField = new JTextField();
|
||||
mainPanel.add(nameTextField);
|
||||
//第二行 定义
|
||||
mainPanel.add(new JLabel("定义"));
|
||||
descriptionTextField = new JTextField();
|
||||
mainPanel.add(descriptionTextField);
|
||||
//第三行 例句
|
||||
mainPanel.add(new JLabel("例句"));
|
||||
answerTextField = new JTextField();
|
||||
mainPanel.add(answerTextField);
|
||||
//第四行 频率
|
||||
mainPanel.add(new JLabel("频率"));
|
||||
frequencyCombobox = new JComboBox<>(new String[]{"未指定","低频","中频","高频"});
|
||||
mainPanel.add(frequencyCombobox);
|
||||
//第五行 按钮
|
||||
saveButton = new JButton("保存");
|
||||
cancelButton = new JButton("取消");
|
||||
mainPanel.add(saveButton);
|
||||
mainPanel.add(cancelButton);
|
||||
return mainPanel;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user