加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 是否有可能:通过方法调用触发JButton事件 – 而不是JBu

发布时间:2020-12-15 04:59:24 所属栏目:Java 来源:网络整理
导读:是否可以通过方法调用触发事件? (以及点击). 下面是一个示例代码.它不是一个有效的代码,它只是演示了我的想象. import java.awt.event.*;import javax.swing.*;public class Game extends JFrame{ JButton leftButton = new JButton("left"); JButton right
是否可以通过方法调用触发事件? (以及点击).
下面是一个示例代码.它不是一个有效的代码,它只是演示了我的想象.

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?.
    }
}

有办法执行吗?

实际上,当我试图解决我面临的问题时,我想到了这个想法.我发布了一个单独的question.

(关于之前发布的question):就服务器客户端而言,我想实现这个目标:

>当客户端单击GUI中的按钮时.
>发送到服务器端的字符串’A’.
>当服务器从客户端收到字符串’A’时,它调用’methodA’; methodA调用将
影响服务器端的GUI.这样客户端和服务器GUI就相应地更新了.

谢谢.

解决方法

JButton有一个从AbstractButton继承的doClick()方法.

http://docs.oracle.com/javase/6/docs/api/javax/swing/AbstractButton.html#doClick

这意味着你可以简单地写

game.leftButton.doClick();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读