关于java绘图双缓冲的问题 20
代码如下:packagejavastaty;importjava.awt.*;importjavax.swing.*;publicclassSHCextendsJFram...
代码如下:
package javastaty;import java.awt.*;
import javax.swing.*;public class SHC extends JFrame implements Runnable { public static void main(String[] args){ Thread t=new Thread(new SHC()); t.start(); } public SHC(){ setTitle("双缓冲"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400,400); setVisible(true); } public void update(Graphics g){ //覆盖update方法,截取默认的调用过程 ImageBuffer = createImage(this.getWidth(), this.getHeight()); //创建图形缓冲区 GraImage = ImageBuffer.getGraphics(); //获取图形缓冲区的图形上下文 paint(GraImage); //用paint方法中编写的绘图过程对图形缓冲区绘图 GraImage.dispose(); //释放图形上下文资源 g.drawImage(ImageBuffer, 0, 0, this); //将图形缓冲区绘制到屏幕上 } public void paint(Graphics g){ //在paint方法中实现绘图过程 g.drawString("你好", i+20, i+20); } public void run(){ while(true){ try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } if(i<300)i++; this.setTitle(Integer.toString(i)); this.repaint(); } }private int i=0;private Image ImageBuffer = null;private Graphics GraImage = null;}
黑色的那个就是“你好”,求教怎么解决!!!! 展开
package javastaty;import java.awt.*;
import javax.swing.*;public class SHC extends JFrame implements Runnable { public static void main(String[] args){ Thread t=new Thread(new SHC()); t.start(); } public SHC(){ setTitle("双缓冲"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400,400); setVisible(true); } public void update(Graphics g){ //覆盖update方法,截取默认的调用过程 ImageBuffer = createImage(this.getWidth(), this.getHeight()); //创建图形缓冲区 GraImage = ImageBuffer.getGraphics(); //获取图形缓冲区的图形上下文 paint(GraImage); //用paint方法中编写的绘图过程对图形缓冲区绘图 GraImage.dispose(); //释放图形上下文资源 g.drawImage(ImageBuffer, 0, 0, this); //将图形缓冲区绘制到屏幕上 } public void paint(Graphics g){ //在paint方法中实现绘图过程 g.drawString("你好", i+20, i+20); } public void run(){ while(true){ try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } if(i<300)i++; this.setTitle(Integer.toString(i)); this.repaint(); } }private int i=0;private Image ImageBuffer = null;private Graphics GraImage = null;}
黑色的那个就是“你好”,求教怎么解决!!!! 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏20(财富值+成长值)
3个回答
展开全部
我画的时候设了个底色,然后就没重叠的,不知道什么情况。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看了半天,问题是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询