我正在構建客戶端/服務器應用程序。 我想讓用戶在身份驗證框架上很容易。如何使「輸入」鍵在JFrame上的行爲類似於在JFrame上提交
我想知道如何使輸入 -key將登錄名和密碼提交給數據庫(火災行動)?
我正在構建客戶端/服務器應用程序。 我想讓用戶在身份驗證框架上很容易。如何使「輸入」鍵在JFrame上的行爲類似於在JFrame上提交
我想知道如何使輸入 -key將登錄名和密碼提交給數據庫(火災行動)?
一種方便的方法依賴於setDefaultButton()
,在該example示出並在所提到How to Use Key Bindings。
JFrame f = new JFrame("Example");
Action accept = new AbstractAction("Accept") {
@Override
public void actionPerformed(ActionEvent e) {
// handle accept
}
};
private JButton b = new JButton(accept);
...
f.getRootPane().setDefaultButton(b);
添加ActionListener
密碼字段組成:
下面的代碼產生此屏幕截圖:
public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("Test");
frame.setLayout(new GridLayout(2, 2));
final JTextField user = new JTextField();
final JTextField pass = new JTextField();
user.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
pass.requestFocus();
}
});
pass.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String username = user.getText();
String password = pass.getText();
System.out.println("Do auth with " + username + " " + password);
}
});
frame.add(new JLabel("User:"));
frame.add(user);
frame.add(new JLabel("Password:"));
frame.add(pass);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
+1,我喜歡這種將ActionListener添加到按鈕的解決方案,以便在按下回車鍵時哪個文本字段具有焦點並不重要。 – camickr