Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可能:通过方法调用触发JButton事件-而不是JButton单击?_Java_Swing_Events_Jbutton - Fatal编程技术网

Java 是否可能:通过方法调用触发JButton事件-而不是JButton单击?

Java 是否可能:通过方法调用触发JButton事件-而不是JButton单击?,java,swing,events,jbutton,Java,Swing,Events,Jbutton,是否可以通过方法调用触发事件?(伴随着咔哒声)。 下面是一个示例代码。它不是一个工作代码,它只是演示了我如何想象它 import java.awt.event.*; import javax.swing.*; public class Game extends JFrame { JButton leftButton = new JButton("left"); JButton rightButton = new JButton ("right"); private

是否可以通过方法调用触发事件?(伴随着咔哒声)。 下面是一个示例代码。它不是一个工作代码,它只是演示了我如何想象它

import java.awt.event.*;
import javax.swing.*;

public class Game extends JFrame
{

    JButton leftButton = new JButton("left");
    JButton rightButton = new JButton ("right");

    private JButton Move(String moveClickString)
    {
        JButton chosenButton = new JButton();

        if (moveClickString.equals("left"))
        {
            chosenButton = leftButton;
        }
        if (moveClickString.equals("right"))
        {
            chosenButton = rightButton;
        }
        return chosenButton;
    }

    public void actionTrigger(JButton buttonClick)
    {
        buttonClick.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                Object buttonPressed = e.getSource();

                if (buttonPressed == leftButton);
                {
                    //do left
                }

                if (buttonPressed == rightButton);
                {
                    //do right
                }
            }
        });
    }

    public static void main(String[] args)
    {
        Game game = new Game();
        game.setVisible(true);

        game.actionTrigger(game.Move("left")); //some way to execute things?.
    }
}
有什么方法可以执行事情吗

实际上,当我试图解决一个我面临的问题时,我想到了这个想法。我贴了一份关于它的单独报告

(关于之前发布的内容):就服务器客户端而言,我希望实现以下目标:

  • 当客户端单击GUI中的按钮时

  • 发送到服务器端的字符串“A”

  • 当服务器从客户端接收到字符串“A”时,它调用“methodA”;methodA调用将
    影响服务器端的GUI。因此,客户机和服务器GUI会相应地更新


谢谢。

JButton
有一个继承自
AbstractButton
doClick()
方法

这意味着你可以简单地写

game.leftButton.doClick();