1. 程式人生 > >JFrame圖形界面 ----鼠標消息

JFrame圖形界面 ----鼠標消息

win 大小 鼠標右鍵 ID jbutton 按鈕 sed eve jlabel

#開始

  不管是什麽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. 這種監聽鼠標的方式不僅僅可以監聽按鈕

JFrame圖形界面 ----鼠標消息