2012-11-11 39 views
1

我已经决定是时候让我学习如何在java中制作GUI。一切都很好,直到我开始设置我的ActionListener。无法弄清楚如何使用另一个类的getSource

继承人我的ActionListener类:

import java.awt.event.*; 

public class Calculator implements ActionListener 
{ 
    public void actionPerformed(ActionEvent e) 
    { 
    if (e.getSource() == set) 
    { 
     setAllTheThings(); 
    } 
    } 
    private void setAllTheThings() 
    { 
    System.out.println("hello"); 
    } 
} 

我似乎无法做的就是对的ActionListener找到JButton的另一类称为“设置”。我应该如何去做这件事?

而且,这里的按钮说:

JButton set = new JButton("Set"); 
set.setLocation(255,0); 
set.setSize(50,20); 
set.addActionListener(new Calculator()); 
line1.add(set); 
+0

让我澄清一下:我打算使用这个类从3个按键和4个不同的组合框收到的行动,我只是想找出对象发送的动作。例如,如果JButton“set”被按下,我想能够弄清楚它被按下并相应地采取行动。 – Thrfoot

回答

1

可以实现使用Actions相同的代码 - 检查源不是看该事件的起源的好方法。

参见:http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html

+0

好的,这看起来像我需要的,我会回到你是否真的得到它的工作。 – Thrfoot

+0

这是Swing的标准和最好的方式 - 也允许你有一个事件的多个来源 - 通常菜单和按钮(或工具栏)和一个热键,如“保存” – thedayofcondor

+0

嗯,它完美的作品!感谢您保存我的AP Comp Sci项目! – Thrfoot