1
私はJDialog
というポップアップを持つSwingアプリケーションを持っており、ユーザー名とパスワードを尋ねます。私はそれがユーザー名フィールドに既にキーボードフォーカスを持っていると良いと思ったが、私がこれまでに試したことはない(たとえ私が試した1つの解決策は、プログラム内の別のテキストフィールドのために働いたとしても)。 ...助けが必要です。ここに私のコードがあります:JDialogのJTextFieldにキーボードフォーカスが得られない
//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();
}
});
}
});
これはLinux/X11/Openboxの価値があります。 GTKを使用するときは、適切なフィールドを選択するためにTab
を一度押さなければならないが、私がMetalを使うときは、それを2回押す必要がある。
ありがとうございます。
これは私が必要としたリンクです。ありがとうございました! – tsm