当用户单击主面板时,我想失去对 JTextField 的关注。
setFocusable(true)
对我不起作用。
如果我在主面板上单击,JTextField 仍具有焦点,您可以输入内容。
注意:我的 JFrame 设置为可聚焦(true)。
最佳答案
我想既然你想把焦点放在点击主面板上,你应该实现一个简单的 MouseListener
来为你完成这项工作。同样,由于面板(主面板)被添加到 JFrame
或更确切地说,它被设置为内容 Pane ,所以这是应该调用 setFocusable(true);
的地方。下面的代码应该可以解决问题:
mainPanel.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseReleased(e);
Focus.this.grabFocus();
}
});
请注意,Focus
是我的类的名称,并且在将其添加到 JFrame
之前扩展了 JPanel
。
关于java - 单击面板时失去对 JTextField 的关注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15336251/