Java 除了鼠标点击外,如何使用Enter键点击submit?
我有这个密码Java 除了鼠标点击外,如何使用Enter键点击submit?,java,swing,jframe,jbutton,Java,Swing,Jframe,Jbutton,我有这个密码 valider.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { WebElement c = driver.findElement(By.name("cin")); WebElement d = driver.findElement(By.id("dn")); W
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();
}
}
如何允许“回车”键按下提交按钮
我搜索了一下,找到了很多方法
像
但是我不知道将它放在代码中的正确位置?您可以通过调用
JFrame
的根窗格的setDefaultButton()
方法来实现这一点。试试这个例子
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);
}
}
请参阅:您需要添加一个keylistener,正如@mumpitz所建议的,阅读我在addActionListener类中添加的
if(Event.getSource()==code){valider.doClick();}
不起作用您能解释一下button1和button2的作用吗?我所理解的是,如果我是正确的,单击两个按钮时,它们将显示消息“******action fired”,因此frame.getRootPane().setDefaultButton(button2)代码>那一行做什么?顺便说一句,我需要为调用它的代码创建一个新类吗?@MJ,你运行我的程序了吗?它是否正常工作(即,当您按Enter键时,按钮2
操作是否启动)setDefaultButton()
是Java中提供的用于获取“默认按钮”行为的API。您的按钮valider
是否显示在JFrame
中?当我在写入CAPTCHA后按enter键时,它会在控制台中显示“button 2 action Fireed”@MJ,因此,您是否添加了System.out.println(“button 2 action Fireed”)代码>到valider
按钮的操作侦听器?我的代码只显示了将按钮设置为“默认”按钮的示例。你必须理解我的代码并将其应用到你的程序中。在我理解代码后,它终于起作用了,非常感谢,我真的很感激
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);
}
}