Как нажать «Отправить» с помощью клавиши «Ввод» помимо щелчка мышью? - PullRequest
0 голосов
/ 29 января 2019

У меня есть этот код

valider.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent arg0) {

            WebElement c = driver.findElement(By.name("cin"));
            WebElement d = driver.findElement(By.id("dn"));
            WebElement cap = driver.findElement(By.name("cincap"));

            String myPass = String.valueOf(CIN.getPassword());
            String date = daten.getText();
            String capp = code.getText();
            // String ids = "";

            // fill the fields
            c.sendKeys(myPass);
            d.sendKeys(date);
            cap.sendKeys(capp);

            // button valider
            cap.submit();
     }
}

Как я могу позволить клавише «Ввод» нажимать кнопку отправки?

Я искал и нашел много способов, таких как

 SubmitButton listener = new SubmitButton(textBoxToEnterName);
textBoxToEnterName.addActionListener(listener);
submit.addKeyListener(listener);

Но я не знаю правильное место, чтобы поместить это в мой код?

1 Ответ

0 голосов
/ 29 января 2019

Этого можно добиться, вызвав setDefaultButton() метод корневой панели JFrame.Попробуйте этот пример.

import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.FlowLayout;

public class DefaultButton {

  public static void main(String[] args) {

    JButton button1 = new JButton("Button 1");
    button1.addActionListener(e -> System.out.println("Button 1 action fired"));

    JButton button2 = new JButton("Button 2");
    button2.addActionListener(e -> System.out.println("Button 2 action fired"));

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(new FlowLayout());
    frame.getContentPane().add(button1);
    frame.getContentPane().add(button2);

    frame.getRootPane().setDefaultButton(button2);

    frame.setBounds(300, 200, 400, 300);
    frame.setVisible(true);
  }
}
...