如何使用JavaSwing模拟完全点击?

如何使用JavaSwing模拟完全点击?,java,swing,keyboard,actionlistener,Java,Swing,Keyboard,Actionlistener,我正在为一个现有的JavaSwing应用程序实现一些键盘代码,但我似乎无法按键盘来执行映射到JButton的“mousePressed”操作和“MouseRelease”操作。我用button.doClick()点击“action_performed”没有问题,有类似的功能来模拟鼠标按下吗?事先谢谢。研究使用模拟键盘按下和鼠标活动 您可以使用类来模拟鼠标按下和鼠标动作。它用于模拟,例如自动测试用户界面 但如果您想共享按钮和按键等“操作”,则应使用操作。看 有关如何共享按钮和按键操作的示例:

我正在为一个现有的JavaSwing应用程序实现一些键盘代码,但我似乎无法按键盘来执行映射到JButton的“mousePressed”操作和“MouseRelease”操作。我用button.doClick()点击“action_performed”没有问题,有类似的功能来模拟鼠标按下吗?事先谢谢。

研究使用模拟键盘按下和鼠标活动

您可以使用类来模拟鼠标按下和鼠标动作。它用于模拟,例如自动测试用户界面

但如果您想共享按钮和按键等“操作”,则应使用
操作
。看

有关如何共享按钮和按键操作的示例:

Action myAction = new AbstractAction("Some action") {

    @Override
    public void actionPerformed(ActionEvent e) {
        // do something
    }
};

// use the action on a button
JButton myButton = new JButton(myAction);  

// use the same action for a keypress
myComponent.getInputMap().put(KeyStroke.getKeyStroke("F2"), "doSomething");
myComponent.getActionMap().put("doSomething", myAction);    

阅读有关上键绑定的更多信息。

您可以在按钮中添加侦听器:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class ButtonAction {

private static void createAndShowGUI()  {

    JFrame frame1 = new JFrame("JAVA");
    frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JButton button = new JButton(" >> JavaProgrammingForums.com <<");
    //Add action listener to button
    button.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent e)
    {
        //Execute when button is pressed
        System.out.println("You clicked the button");
        }
    });      

    frame1.getContentPane().add(button);
    frame1.pack();
    frame1.setVisible(true);
}


public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}`
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.JButton;
导入javax.swing.JFrame;
公共类按钮{
私有静态void createAndShowGUI(){
JFrame frame1=新的JFrame(“JAVA”);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button=newjbutton(“>>JavaProgrammingForums.com检查此项