将按钮传递给新对象然后再次添加到自身?

时间:2015-05-10 05:55:15

标签: java swing oop jbutton

我试图编译程序,它真的不喜欢这些行:

Listener l1 = new Listener(button2);
Listener l2 = new Listener(button1);

button1.addActionListener(l1);
button2.addActionListener(l2);

我对发生的事情感到有点困惑。我查看了我的Oracle Java书籍,他们只是在处理按钮和监听器时提供了简单的示例。

当我有人按下button1一次然后第二次按下button2时,我真的很困惑。

对我而言,看起来像button1和button2类型CS12Button作为变量类型传递给具有变量11和12的类Listener。然后最终再次添加到button1?回到自己?

public class ExamQuestion1 extends JFrame{
    public static void main(String[] args){

        ExamQuestion1 eq1 = new ExamQuestion1();
        eq1.init();

        eq1.pack();
        eq1.setVisible(true);
        eq1.setSize(new Dimension(500,500));
        eq1.repaint();
    }

    private void init(){
        Container contentPane = this.getContentPane();
        contentPane.setLayout(new FlowLayout());
        JButton button1 = new JButton("one");
        CS12Button button2 = new CS12Button("two");
        CS12Button button3 = new CS12Button("three");

        Listener l1 = new Listener(button2);
        Listener l2 = new Listener(button1);

        button1.addActionListener(l1);
        button2.addActionListener(l2);

        contentPane.add(button1);
        contentPane.add(button2);
        contentPane.add(button3);

        JTextField jt = new JTextField(10);
        contentPane.add(jt);
        jt.setText("File name here");

        //CS12Panel cp = new CS12Panel();
        //contentPane.add(cp);


        //public int[] readList(String filename);


    }

}

0 个答案:

没有答案