Swing getSource() 使用的注意事项
2015-11-09 19:41
351 查看
在Swing 中,awtEvent 中的getSourse()继承自EventObject,返回最初发生的Event的对象,也就是事件源。
例如:
当只有一个按钮的时候,点击按钮只有一个事件源,因此可以不用分辨事件是哪个。
当有两个按钮的时候:
由于getourse()返回最初发生的Event的对象,所以进行比较的时候需要强转为JButton类型。
初学–有错误请 指出,谢谢
例如:
import java.awt.event.*; import java.awt.*; public class frame extends Frame implements ActionListener { Button btn=new Button("退出1"); public frame() { btn.setBackground(Color.orange); btn.setForeground(Color.RED); add(btn); setVisible(true);//设置窗口可见 pack(); btn.addActionListener(this);//添加监视器 } public void actionPerformed(ActionEvent e)//动作事件的表现形式 { //if(e.getSource()==btn) //{ System.exit(0); //} }// TODO Auto-generated method stub public static void main(String args[]) { frame smp=new frame(); } }
当只有一个按钮的时候,点击按钮只有一个事件源,因此可以不用分辨事件是哪个。
当有两个按钮的时候:
package day1021; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; class Dada extends JFrame implements ActionListener//实现ActionListener接口 { JButton btn1; JButton btn2; ActionListener listener; public Dada() { setLayout(new FlowLayout()); btn1= new JButton("按钮1退出"); add(btn1); btn2= new JButton("按钮2"); add(btn2); btn1.addActionListener(this);//添加监视器 btn2.addActionListener(this);//添加监视器 setVisible(true);//设置窗口可见 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("getSource()"); setBounds(100,100,310,260); } public void actionPerformed(ActionEvent e)//动作事件的表现形式 { if((JButton)e.getSource()==btn1)//点击按钮1后程序退出 { System.exit(0); } if((JButton)e.getSource()==btn2)//点击按钮2后输出一句话 { System.out.println("哎哟,不错哦"); } } } public class test1 { public static void main(String args[]) { Dada smp=new Dada() ; } }
由于getourse()返回最初发生的Event的对象,所以进行比较的时候需要强转为JButton类型。
初学–有错误请 指出,谢谢
相关文章推荐
- [原创]java局域网聊天系统
- java很神奇 用swing制作欢迎屏幕
- java基于swing实现的五子棋游戏代码
- 使用java swing实现qq登录界面示例分享
- java之swing实现复选框的方法
- swing中Tree与滚动条用法实例分析
- Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例
- 可视化Swing中JTable控件绑定SQL数据源的两种方法深入解析
- Java Swing中的文本区(JTextArea)实现换行保存到文件的几个方法
- java之swing下拉菜单实现方法
- Java Swing中的表格(JTable)和树(JTree)组件使用实例
- Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例
- java之swing表格实现方法
- Java Swing中的JButton、JComboBox、JList和JColorChooser组件使用案例
- Java Swing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例
- java之swing单选框用法实例分析
- 要离开Swing了,曾经的爱与恨
- Swing自定义事件-一个组件的事件传递给另一个组件
- Swing 自定义日期选择器
- Swing 和AWT之间的关系