【发布时间】:2016-06-26 06:54:10
【问题描述】:
我为组件上的每个更新操作创建了单独的存储过程。
这里是存储过程:
updateCurriculumName() --call only if name was changed
updateCurriculumYearLevel() --call only if year level was changed
updateCurriculumSchoolYear() -- call only if school year was changed
updateCurriculumDescription() -- call only if description was changed
updateCurriculumSubjects() -- call only if there are changes made on assigned subjects
我需要能够通知SAVE 按钮,让它知道哪个组件被修改/更改,以便它知道要调用哪个过程而不是调用所有过程。
例如,如果只更改课程名称,那么它应该只调用updateCurriculumName() 过程。
请注意,如果对 JTextField 或 JComboBox 或 JTextArea 进行了更改,我会用 * 标记 JLabel 的文本。
我现在有,
DocumentListener 代表课程名称 JTextField(添加了*)
ItemStateChangedListener 代表年级 JComboBox(还添加了*)
ItemStateChangedListener 代表学年 JComboBox(还添加了*)
如何告诉 SAVE 按钮的 actionPerformed 指令“仅”调用状态/值已更改的组件的存储过程?
喜欢,
private void SaveJbtnActionPerformed(java.awt.event.ActionEvent evt) {
if(yearlevel was changed)
call updateYearLevel()
else if(curriculumName was changed)
call updateCurriculumName()
else if(schoolyear was changed)
call updateCurriculumSchoolYear()
}
如果您有任何关于哪种方法最好的建议或建议,我将不胜感激。
提前致谢。
【问题讨论】:
-
一种方法是为每个过程存储一个布尔值。当对应的数据发生变化时,将其改为
true。单击按钮时,只执行xDataChanged为true的程序。
标签: java swing jdbc actionlistener