⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example6_9.java

📁 书中的例题
💻 JAVA
字号:
1.  /* 演示双缓冲技术的效果 */ 
2. import java.awt.*; 
3. import java.awt.event.*; 
4. import java.applet.*; 
5.
6. public class Example6_9 extends Applet
7. { 
8.   int gap = 3;            //决定红色波纹线的疏密
9.   int mx, my;             //存放鼠标的坐标位置
10.  boolean flicker = true; //控制闪烁的逻辑变量
11.  Image buffer = null;    //声明Image对象
12.  int w, h;               //存放Applet在屏幕上显示的宽和高
13.
14.  public void init()
15.   { 
16.    Dimension d = getSize(); //获取HTML文件中给出的Applet大小
17.    w = d.width; 
18.    h = d.height; 
19.    buffer = createImage(w, h); //建立一个w宽h高的图像对象
20.   
21.	   //下面复合语句为获取鼠标的坐标位置,并重绘图像
22.   addMouseMotionListener(new MouseMotionAdapter() { 
23.      //按下鼠标左键时触发的方法事件
24.	  public void mouseDragged(MouseEvent me) { 
25.        mx = me.getX();  //获取鼠标的坐标位置
26.        my = me.getY(); 
27.        flicker = false; //设置可以使用双缓冲技术
28.        repaint();    //重绘图像
29.       }
30.	     //移动鼠标时触发的方法事件
31.     public void mouseMoved(MouseEvent me) { 
32.        mx = me.getX();   //获取鼠标的坐标位置
33.        my = me.getY(); 
34.        flicker = true;  //设置不使用双缓冲技术
35.        repaint();     //重绘图像
36.       } 
37.     }); 
38.   } 
39.
40.  public void paint(Graphics g) 
41.   {
42.    Graphics screengc = null; 
43.    if (!flicker)
44.      {//获取Graphics图像对象
45.        screengc = g; 
46.        g = buffer.getGraphics(); 
47.      }
48.	   g.setColor(Color.cyan); //设置浅蓝色
49.    g.fillRect(0, 0, w, h); //画出蓝色矩形
50.
51.    g.setColor(Color.red);       //设置红色
52.    for (int i=0; i<w; i+=gap)   //画出红色波纹线
53.       g.drawLine(i, 0, w-i, h); 
54.    for (int i=0; i<h; i+=gap) 
55.       g.drawLine(0, i, w, h-i); 
56.        
57.	 //使用双缓冲技术
88.    if (!flicker)
89.	  { 
60.        screengc.drawImage(buffer, 0, 0, null); 
61.      } 
62.   }
63.	  
64.  public void update(Graphics g)
65.	{ 
66.     paint(g); 
67.    } 
68.} 
69./* 
70. * <applet code=Example6_9.class width=250 height=250> 
71. * </applet>
72.*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -