我的是逐行给你解释的,比较清晰,一个字一个字手写的注释,请采纳我的,感谢!!!!!
//添加试题
public void addExam(){
//新建一个文件选择器,弹出文件选择窗口
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showOpenDialog(this) == 0){ //如果选择了文件
File file = fileChooser.getSelectedFile(); //获取到选择的文件
//添加文件数据
Database.readExam(file); //从文件中读取数据
Database.writeData();//将文件数据写入数据库
JOptionPane.showMessageDialog(null,"导入成功!"); //弹出窗口,提示导入成功!
}
}
//删除试题
public void deleteExam(){
int index = list.getSelectedIndex(); //获取要删除的试题是第几个
if (index == -1){ //如果没有选择任何试题,则提示
JOptionPane.showMessageDialog(null,"请先选择一个试题!"); //弹出一个窗口提示选择一个试题
return;
}
//在文件数据中删除试题
Database.exams.remove(index); //如果选择了试题,则删除试题
Database.writeData(); //将删除的试题从数据库中移除
JOptionPane.showMessageDialog(null,"删除成功!");//弹出一个窗口提示删除成功
}
//修改试题
public void updateExam(){
int index = list.getSelectedIndex();//获取要修改的试题是第几个
if (index == -1){//如果没有选择任何试题,则提示
JOptionPane.showMessageDialog(null,"请先选择一个试题!");//弹出一个窗口提示选择一个试题
return;
}
String name = JOptionPane.showInputDialog("请输入修改后的试题名称");//弹出一个窗口输入修改的试题名称
Exam exam = Database.exams.get(index);//获取要修改的试题对象
exam.setName(name);//更新试题的名称
Database.writeData();//将修改的试题更新到数据库
JOptionPane.showMessageDialog(null,"修改成功!");//弹出一个窗口提示修改成功
}
//获取全部试题
public void searchAllExam(){
model.removeAllElements();//将model中的数据清空
for (Exam exam : Database.exams) {//循环数据库中读取到的试题信息
model.addElement(exam.getName());//将试题名称放入到model中
}
}
@Override
public void actionPerformed(ActionEvent e) {//定义按钮的监听事件 当按钮被点击时会执行以下代码
Object source = e.getSource();//获取点击的是哪个按钮
if (source == button_add){//如果点击的是添加试题按钮
addExam();//调用添加试题的方法进行添加试题
}else if (source == button_delete){//如果点击的是删除试题按钮
deleteExam();//调用删除试题的方法进行添加试题
}else if (source == button_update){//如果点击的是修改试题按钮
updateExam();//调用修改试题的方法进行添加试题
}else if (source == button_searchAll){//如果点击的是获取全部试题按钮
searchAllExam();//调用获取全部试题的方法进行添加试题
}
}
}