JFrame图形界面 ----按钮消息

#开始

  不管是什么GUI 按钮的存在都是必不可少的而且还会有很多奇怪的按钮


#代码

  

 1 package window;
 2 
 3 import java.awt.Container;
 4 import java.awt.event.MouseAdapter;
 5 import java.awt.event.MouseEvent;
 6 
 7 import javax.swing.JButton;
 8 import javax.swing.JFrame;
 9 import javax.swing.JLabel;
10 
11 
12 
13 public class JFrameWindow extends JFrame{     //需要继承JFrame
14 
15     public JFrameWindow(String title)
16     {
17         JFrame jf = new JFrame(title);    
18         Container conn = jf.getContentPane();    //得到窗口的容器
19         conn.setLayout(null);    //设置布局方式为空 也就是绝对布局
20         JLabel L1 = new JLabel("Hello,world!");        //创建一个标签 并设置初始内容
21         L1.setBounds(50,20,100,20);        
22         
23         JButton B1 = new JButton("按钮1");    //创建一个按钮
24         B1.setBounds(100,50,100,30);    //设置按钮的大小和位置
25         
26         B1.addMouseListener(new MouseAdapter() {    //添加一个鼠标事件监听器
27             public void mousePressed(MouseEvent e) {  
28                 if(e.getButton()==MouseEvent.BUTTON1)    //按下左键
29                 {
30                     System.out.println("鼠标左键");
31                     if(e.getClickCount()==2)
32                     {
33                         System.out.println("双击了");
34                     }
35                 }
36                 
37                 if(e.getButton()==MouseEvent.BUTTON2)    //按下中键的滚轮
38                 {
39                     System.out.println("鼠标中键");
40                 }
41                 
42                 if(e.getButton()==MouseEvent.BUTTON3)    //按下右键
43                 {
44                     System.out.println("鼠标右键");
45                 }
46             }
47         });
48         
49         
50         conn.add(L1);
51         conn.add(B1);    //添加到容器
52         
53         jf.setBounds(200,200,300,200);     //设置窗口的属性 窗口位置以及窗口的大小
54         jf.setVisible(true);//设置窗口可见
55         jf.setDefaultCloseOperation(DISPOSE_ON_CLOSE); //设置关闭方式 如果不设置的话 似乎关闭窗口之后不会退出程序
56     }
57     
58     public static void main(String[] args) {
59         new JFrameWindow("窗口");        //创建窗口
60     }
61 
62 }

#分析

  这次的代码是上次的代码添加了几行 添加了一个鼠标监听器 

  在按钮上面有鼠标消息之后 会在方法里面传入一个MouseEvent 对象 包含了事件的各种数据 例如按下了什么按键 按了几次 坐标

  需要注意的是 这里是鼠标监听器 而不是按钮事件监听器 这就意味着 如果给标签添加一个监听器 就可以把标签当作按钮用

#运行结果

  

#技巧

  1. 这种监听鼠标的方式不仅仅可以监听按钮

猜你喜欢

转载自www.cnblogs.com/cjdty/p/8948281.html