假设我有一个具有Client.Function1()函数的类Client。如何让我的JButton在LoginGUI类中让它在Client类中执行Function1?
我不想在LoginGUI类中初始化Client实例。
答案 0 :(得分:1)
我将演示如何在单例类中使用动作侦听器。
class Client implements ActionListener {
private static Client instance = new Client();
public static Client getInstance() { return instance; }
public void actionPerformed(ActionEvent e) {
// do the thing you want to do here.
}
}
当您创建JButton
:
JButton b = new JButton();
// configure your button here...
b.addActionListener(Client.getInstance());
就这么简单。
如果您还想在按下按钮时更改UI和内容,该怎么办?
只需添加另一个动作侦听器!
首先,在GUI类中编写一个方法,并在按下按钮时写下你想用UI做的任何事情:
public void actionPerformed(ActionEvent e) {
// do stuff
}
之后,使GUI类实现ActionListener
。
然后,只需添加另一个动作侦听器:
b.addActionListener(this);