【发布时间】:2011-05-14 05:38:30
【问题描述】:
我已经为此苦苦挣扎太久了。当我在 jTextField 中输入完毕后,我希望它在单击文本字段外的窗口时失去焦点。我不知道该怎么做。我能做的最好的是将焦点转移到下一个文本字段。
【问题讨论】:
我已经为此苦苦挣扎太久了。当我在 jTextField 中输入完毕后,我希望它在单击文本字段外的窗口时失去焦点。我不知道该怎么做。我能做的最好的是将焦点转移到下一个文本字段。
【问题讨论】:
考虑你的类扩展了 JFrame:
JTextField jTextField1 = new JTextField();
addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTextField1.setFocusable(false);
}
});
希望对您有所帮助...
【讨论】:
你为什么想失去焦点?我确信有更好的设计,然后强制用户单击窗口以导致文本字段失去焦点。
无论如何,当另一个组件获得焦点时,文本字段将失去焦点。默认情况下,面板是不可聚焦的,因此单击它不会导致文本字段失去焦点。使面板具有焦点:
panel.setFocusable( true );
当然,现在当用户使用 tab 键时,面板现在将包含在 tab 顺序中。这也是这个设计看起来很糟糕的另一个原因。
【讨论】: