我有一个带有附加InputVerifiers的JTextFields的swing应用程序。我通过setText方法对字段应用了有效的默认值,例如以编程方式设置文本时未激活InputVerifiers
this.myField.setText("11");
但似乎public boolean verify(JComponent component)
不被调用,除非焦点被应用到字段。我试图以编程方式请求焦点,但仍然不会触发InputVerifier,例如
this.myField.requestFocus();
如何以编程方式设置文本字段文本并让我的InputVerifier激发并运行其verify()方法?
我可以在构造它后调用InputVerifier,调用verify()并传入组件,但是由于TextField已经连接到InputVerifier,所以看起来真的没有必要。
默认情况下,InputVerifier会触发这些事件如果实现Swing Action(ev ActionListener),通过包含shouldYieldFocus()&verify,可以应用于JSpinner和JComboBox的JTextComponents和派生编辑器,以便更快地发布[SSCCE] (http://sscce.org/),简短,可运行,可编译 – mKorbel 2013-04-30 12:43:27
[您的SSCCE可以基于](http://www.java2s.com/Code/Java/Swing-JFC/InputVerificationDemo.htm) – mKorbel 2013-04-30 12:45:39
认为你说要附加一个将会触发并调用输入验证器方法的Action?这个动作何时会被解雇? – 2013-04-30 12:46:42