1. 事件类型
2. ActionListener
a:如果同一个组件添加了多个监听器,则每个监听器都会被执行, 后添加监听器会先被执行!
b: 同一个监听器对象,可以监听多个组件!
try{BeautyEyeLNFHelper.frameBorderStyle = BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();}catch(Exception e){//TODO exception }// 创建窗体对象JFrame jFrame =new JFrame();// 设置窗体大小jFrame.setSize(800, 500);// 设置窗体全屏展示//jFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);// 设置窗体显示位置//jFrame.setLocation(100,200);// 设置窗体显示正中间jFrame.setLocationRelativeTo(null);// 设置窗体标题jFrame.setTitle("窗体标题");// 设置窗体不可全屏显示//jFrame.setResizable(false);// 设置窗体关闭后退出程序 jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置此窗口是否应该始终位于其他窗口上方jFrame.setAlwaysOnTop(true);// 设置窗体图标jFrame.setIconImage(new ImageIcon(HelloWorld.class.getResource("/images/book.png")).getImage());// 创建容器JPanel jPanel =new JPanel();JButton btn01 =new JButton("Button01");//给组件添加监听器btn01.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("actionlistener");}});jPanel.add(btn01,"b1");jFrame.setContentPane(jPanel);// 设置窗体可见jFrame.setVisible(true);
3. 监听器多种实现方式
try{BeautyEyeLNFHelper.frameBorderStyle = BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();}catch(Exception e){//TODO exception }// 创建窗体对象JFrame jFrame =new JFrame();// 设置窗体大小jFrame.setSize(800, 500);// 设置窗体全屏展示//jFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);// 设置窗体显示位置//jFrame.setLocation(100,200);// 设置窗体显示正中间jFrame.setLocationRelativeTo(null);// 设置窗体标题jFrame.setTitle("窗体标题");// 设置窗体不可全屏显示//jFrame.setResizable(false);// 设置窗体关闭后退出程序 jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置此窗口是否应该始终位于其他窗口上方jFrame.setAlwaysOnTop(true);// 设置窗体图标jFrame.setIconImage(new ImageIcon(HelloWorld.class.getResource("/images/book.png")).getImage());// 创建容器JPanel jPanel =new JPanel();JButton btn01 =new JButton("Button01");JButton btn02 =new JButton("Button02");// 创建内部类来实现监听器对象共享class ActionListenerImpl implements ActionListener{int count;int num;ActionListenerImpl(int num){this.num=num;}@Overridepublic void actionPerformed(ActionEvent e) {++count;System.out.println("button"+num+"被点击了"+count);}}btn01.addActionListener(new ActionListenerImpl(1));btn02.addActionListener(new ActionListenerImpl(2));jPanel.add(btn01,"b1");jPanel.add(btn02,"b2");jFrame.setContentPane(jPanel);// 设置窗体可见jFrame.setVisible(true);
4.
5.
6.
7.