事件监听

本文介绍了一个使用Java实现的事件监听示例,展示了如何通过监听按钮点击事件来改变面板背景色的过程。具体步骤包括:注册监听器、指定Action命令以及定义事件处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事件监听步骤:

1.     注册监听

2.     指定Action命令

3.     对事件处理 的方法。

/**

4.   * 功能:讲解事件处理机制

5.   */

6.  package 时间处理;

7.  import java.awt.*;

8.  import javax.swing.*;

9.  import java.awt.event.*;

10. 

11.public class Test1 extends JFrame implements ActionListener{

12. 

13. JPanel mp=null;

14. JButton jb1=null;

15. JButton jb2=null;

16.

17. public static void main(String[] args) {

18.    // TODO Auto-generated method stub

19.    Test1 test=new Test1();

20. }

21.

22. public Test1()

23. {

24.    mp=new JPanel();

25.    jb1=new JButton("黑色");

26.    jb2=new JButton("红色");

27.   

28.    this.add(jb1,BorderLayout.NORTH);

29.    mp.setBackground(Color.red);

30.    this.add(mp);

31.    this.add(jb2,BorderLayout.SOUTH);

32.   

33.    Cat myCat1=new Cat();

34.    jb1.addActionListener(myCat1);

           //jb1.addActionListener(myCat1),就可以推出

35.    //事件源对象是jb1,事件监听对象就是myCat1

36.    //注册监听

37.    jb1.addActionListener(this);

38.    //指定action命令

39.    jb1.setActionCommand("black");

40.    jb2.addActionListener(this);

41.    jb2.setActionCommand("red");

42.   

43.    this.setSize(200,150);

44.    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

45.    this.setVisible(true);

46. }

47. 

48. //对事件处理方法

49. @Override

50. public void actionPerformed(ActionEvent e) {

51.    // TODO Auto-generated method stub

52.    //判断是哪个按钮被点击

53.    if (e.getActionCommand().equals("black"))

54.    {

55.        System.out.println("您点击黑色按钮了!");

56.        mp.setBackground(Color.black);

57.    }

58.    else if(e.getActionCommand().equals("red"))

59.    {

60.        System.out.println("您点击红色按钮 了!");

61.        mp.setBackground(Color.red);

62.    }

63.   

64. }

65.}

66. 

67.class Cat implements ActionListener

68.{

69. 

70. @Override

71. public void actionPerformed(ActionEvent e) {

72.    // TODO Auto-generated method stub

73.    if(e.getActionCommand().equals("black"))

74.    {

75.        System.out.println("猫猫也知道你按下黑色按钮 了!");

76. 

77.    }

78. }

79.

80.}

81.//class MyPanel extends JPanel

82.//{

83.//  public void paint(Graphics g)

84.//  {

85.//     

86.//  }

//}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值