在我的计划中,当焦点丢失时,我想在名为ActionEvent
的{{1}}上调用TextField
。我成功使用了descField
。当我将dispatchEvent
更改为TextField
时,它无效。我会感激一些帮助(我是Java的业余爱好者)。以下是调度程序,它是JTextField
的{{1}}方法:
focusLost
如何使用JTextField
代替 public void focusLost(FocusEvent f) {
ActionEvent action = new ActionEvent(descField, ActionEvent.ACTION_PERFORMED, "focus_lost");
descField.dispatchEvent(action); // Causes actionPerformed to be invoked
// Does not work with JTextArea
} //focusLost
使其有效?
答案 0 :(得分:0)
我将ActionEvent中的代码放在此侦听器类中的单独方法中,而只是从actionPerformed和focusLost方法调用它。现在可以使用JTextField正常工作。我想大多数人都会这样做。 actionPerformed代码非常冗长。