微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在表格上检测控件中的所有更改由用户进行

如何解决在表格上检测控件中的所有更改由用户进行

|| 我有一个带有Save()方法的程序,该程序将所有数据保存在表单上的微调框和文本字段中。每当用户对文本字段或微调框进行更改时,是否可以调用\“ Save()\”?与通用事件处理程序相似。 谢谢     

解决方法

        您可以将ChangeListener的一个实例连接到所有控件,看起来像(在一个内部类中):
private class ListenerImpl implements ChangeListener {
   public void stateChanged(ChangeEvent e) { save(); }
}
要一次性添加此侦听器,您可以像这样循环遍历ѭ1的孩子:
final ListenerImpl l = new ListenerImpl();
for (Component c : getComponents()) {
   if (c instanceof JSpinner) {
      ((JSpinner)c).addChangeListener(l);
   } else if (c instanceof JTextPane ) { } // ... other types of components
}
您必须寻找不同类型的组件,因为没有定义“ 3”方法(我知道)的接口。     ,        我建议您向窗体中的每个控件添加
ChangeListener
FocusListener
,并在一种回调方法中调用
Save()
。 (实际上,我可能会选择
FocusListener
,并从
focusLost
方法中调用
Save()
。) 如何编写焦点侦听器     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。