【Java】 用MouseAdapter模拟按钮的实现

 1 import java.awt.Frame.*;
 2 import java.awt.event.*;
 3 import java.awt.*;
 4 
 5 public class Test extends Frame {
 6     
 7     boolean mouseClicked = false;
 8     
 9     public void launchFrame() {
10         this.setLocation(100,100);
11         this.setBackground(Color.GRAY);
12         this.setSize(500, 300);
13         this.addMouseListener(new mouseMonitor());
14         this.setVisible(true);
15     }
16     
17     public void paint(Graphics g) {
18         Color c = g.getColor();
19         if(mouseClicked == false) {
20             g.setColor(Color.WHITE);
21             g.drawLine(100, 100, 400, 100);
22             g.drawLine(100, 100, 100, 200);
23             g.setColor(Color.BLACK);
24             g.drawLine(100, 200, 400, 200);
25             g.drawLine(400, 100, 400, 200);
26         }
27         else if(mouseClicked == true) {
28             g.setColor(Color.BLACK);
29             g.drawLine(100, 100, 400, 100);
30             g.drawLine(100, 100, 100, 200);
31             g.setColor(Color.WHITE);
32             g.drawLine(100, 200, 400, 200);
33             g.drawLine(400, 100, 400, 200);
34         }
35         g.setColor(c);
36     }
37     
38     public class mouseMonitor extends MouseAdapter {
39         public void mousePressed(MouseEvent e) {
40             if(e.getX()<400 && e.getX()>100 && e.getY()<200 && e.getY()>100) { //getX()和getY()是MouseEvent的方法
41                 mouseClicked = true;
42                 repaint();    // 这里一定记得repaint()
43             }
44         }
45         public void mouseReleased(MouseEvent e) {
46             mouseClicked = false;
47             repaint();
48         }
49     
50     }
51     
52     public static void main(String[] args) {
53         Test t = new Test();
54         t.launchFrame();
55     }
56 }

 

posted @ 2014-06-13 15:57  SpongeHAO  阅读(1519)  评论(0编辑  收藏  举报