java - 除了鼠标点击之外,如何使用 Enter 键点击提交?
问题描述
我有这个代码
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();
}
}
如何让“Enter”键按下提交按钮?
我搜索了很多方法,例如
SubmitButton listener = new SubmitButton(textBoxToEnterName);
textBoxToEnterName.addActionListener(listener);
submit.addKeyListener(listener);
但我不知道将它放在我的代码中的正确位置?
解决方案
您可以通过调用根窗格的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);
}
}
推荐阅读
- swift - 在 Swift 5 中发布一个 json 补丁
- javascript - 使用flask或javascript解压上传的文件
- android - android 7上的通知问题
- python - 使用只有键和空值的字典值得吗?
- angular - 是否可以在不接收初始值或最后推送值的情况下订阅 BehaviourSubject?
- mongodb - 努力使用 mongodb shell 将 zonedatetime 字符串转换为日期
- r - 根据另一列改变一列中的值
- php - 显式模型绑定导致未找到
- model - 如何在 js minecraft 中使其成为自定义模型 ID
- bash - 在 iTerm2 的行首看到“ESC [8”