gpt4 book ai didi

java - 无法在 JDialog 中将键盘焦点放在 JTextField 上

转载 作者:行者123 更新时间:2023-11-29 06:11:43 25 4
gpt4 key购买 nike

我有一个 Swing 应用程序,它会弹出一个 JDialog 并要求输入用户名和密码。我认为将键盘焦点放在用户名字段中会很好,但到目前为止我尝试过的所有方法都不起作用(即使我尝试过的一种解决方案适用于程序中的不同文本字段),所以。 ...我需要一些帮助。这是我的代码:

//JTextField usernameField = ...
JDialog dialog = pane.createDialog("Password:");
dialog.setVisible(true);


//Take 1
usernameField.requestFocusInWindow();

//Take 2
dialog.addWindowFocusListener(new WindowAdapter() {
public void windowGainedFocus(WindowEvent e) {
usernameField.requestFocusInWindow();
}
});

//Take 3 - This is what I used elsewhere quite successfully
dialog.addComponentListener(new ComponentAdapter() {
public void componentShown(ComponentEvent e ) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
usernameField.requestFocusInWindow();
}
});
}
});

就其值(value)而言,这是针对 Linux/X11/Openbox 的。当我使用 GTK 时,我必须按一次 Tab 来选择适当的字段,但是当我使用 Metal 时,我必须按两次。

提前致谢。

最佳答案

参见 Dialog Focus获取提示和策略。

关于java - 无法在 JDialog 中将键盘焦点放在 JTextField 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6553416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com