博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

监听接口写入一个JCompnent中

Posted on 2012-08-07 18:03  紫冰龙  阅读(206)  评论(0编辑  收藏  举报
import javax.swing.*;

import java.awt.BorderLayout;
import java.awt.event.*;
public class JComponentDemo extends JFrame{
    JComponentDemo(){
        setTitle("JComponentDemo Test");
        setSize(500,500);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JButton bt = new JButton("Test");
        add(bt,BorderLayout.CENTER);
        add(new MyComponent(bt),BorderLayout.SOUTH);
        setVisible(true);
    }
    private class MyComponent extends JComponent implements ActionListener {
        MyComponent(JButton bt){
            bt.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent arg0) {
            System.out.println("test");
            
        }
    
    }
    public  static void main(String[] args){
        new JComponentDemo();
    }
}
这个程序中把listener写到一个组件中,然后add到面板中的方法有点难理解.是自考书上的例题,当然例题中这个组件实现了很多监听接口.但为什么要写成组件,然后在构造方法参数中传入实际的组件,然后给他们添加监听. 很难理解这样做的好处.