【发布时间】:2014-04-05 06:25:12
【问题描述】:
我目前有一个 Frame 类,它创建一个框架、添加按钮和标签。我目前在我的 Frame 类中有动作侦听器的代码,我需要移动它以便从匿名类调用动作侦听器。这是我目前拥有的。
public static void main(String[] args)
{
Frame grid = new Frame();
grid.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
grid.setVisible(true);
grid.pack();
grid.setTitle("Frame");
}
public class Frame extends JFrame
{
ImageIcon green = new ImageIcon("green.png");
JLabel label;
public JButton button1,button2;
public Frame()
{
setLayout(new GridLayout(4,4));
/**create buttons*/
button1 = new JButton("");
add(button1);
button2 = new JButton("");
add(button2);
label = new JLabel(green);
add(label);
/**Add action listener to buttons, I need these 2 liseners in a anonymous class */
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
button1.setText("X");
}
});
button2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
button2.setText("X");
}
});
谁能告诉我如何移动这个 actionlistener 以便从匿名类中调用它?我假设我在创建框架时主要执行此操作?大概是这样的吧?
Frame grid = new Frame(){
//Code might go here?
}
我不确定,我是匿名课程的新手。谁能告诉我如何在匿名类中实现动作监听器?
【问题讨论】:
-
您需要提供一些方法来将
ActionListener注册到按钮上,可能是通过getter 或setter
标签: java user-interface jframe actionlistener anonymous-class