是否可以通过方法调用触发事件? (以及点击)。 下面是一个示例代码。它不是一个有效的代码,只是演示了我的想象。
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就相应地更新了。
谢谢。
答案 0 :(得分:12)
JButton
的{{1}}方法继承自doClick()
。
http://docs.oracle.com/javase/6/docs/api/javax/swing/AbstractButton.html#doClick
这意味着你可以简单地写
AbstractButton