標籤:
首先我們看看原始碼如下:
1 package cn.itcast_06; 2 3 import java.awt.Button; 4 import java.awt.Color; 5 import java.awt.FlowLayout; 6 import java.awt.Frame; 7 import java.awt.event.MouseAdapter; 8 import java.awt.event.MouseEvent; 9 import java.awt.event.WindowAdapter; 10 import java.awt.event.WindowEvent; 11 12 public class FrameDemo { 13 public static void main(String[] args) { 14 // 建立表單對象 15 final Frame f = new Frame("更改背景色"); 16 // 設定表單內容和布局 17 f.setBounds(400, 200, 400, 300); 18 f.setLayout(new FlowLayout()); 19 20 // 建立四個按鈕 21 Button redButton = new Button("紅色"); 22 Button greenButton = new Button("綠色"); 23 Button buleButton = new Button("藍色"); 24 25 // 添加按鈕 26 f.add(redButton); 27 f.add(greenButton); 28 f.add(buleButton); 29 30 // 設定表單關閉 31 f.addWindowListener(new WindowAdapter() { 32 @Override 33 public void windowClosing(WindowEvent e) { 34 System.exit(0); 35 } 36 }); 37 38 // 對按鈕添加動作事件,點擊按鈕 39 // redButton.addActionListener(new ActionListener() { 40 // @Override 41 // public void actionPerformed(ActionEvent e) { 42 // f.setBackground(Color.RED); 43 // } 44 // }); 45 46 // 對按鈕添加滑鼠點擊事件,滑鼠點擊按鈕,這與上面效果一樣 47 // redButton.addMouseListener(new MouseAdapter() { 48 // @Override 49 // public void mouseClicked(MouseEvent e) { 50 // f.setBackground(Color.RED); 51 // } 52 // }); 53 54 // 對按鈕添加滑鼠的進入事件,滑鼠箭頭一旦進入按鈕地區,就會觸發事件 55 redButton.addMouseListener(new MouseAdapter() { 56 @Override 57 public void mouseEntered(MouseEvent e) { 58 f.setBackground(Color.RED); 59 } 60 }); 61 62 redButton.addMouseListener(new MouseAdapter() { 63 @Override 64 public void mouseExited(MouseEvent e) { 65 f.setBackground(Color.WHITE); 66 } 67 }); 68 69 greenButton.addMouseListener(new MouseAdapter() { 70 @Override 71 public void mouseEntered(MouseEvent e) { 72 f.setBackground(Color.GREEN); 73 } 74 }); 75 76 greenButton.addMouseListener(new MouseAdapter() { 77 @Override 78 public void mouseExited(MouseEvent e) { 79 f.setBackground(Color.WHITE); 80 } 81 }); 82 83 buleButton.addMouseListener(new MouseAdapter() { 84 @Override 85 public void mouseEntered(MouseEvent e) { 86 f.setBackground(Color.BLUE); 87 } 88 }); 89 90 buleButton.addMouseListener(new MouseAdapter() { 91 @Override 92 public void mouseExited(MouseEvent e) { 93 f.setBackground(Color.WHITE); 94 } 95 }); 96 97 // 設定表單顯示 98 f.setVisible(true); 99 }100 }
運行結果如下:
當我們分別把滑鼠放到紅色、綠色、藍色位置上的時候,顏色分別發生如下變化:
GUI編程筆記08:GUI通過滑鼠移動到按鈕上更改背景色案例