当前位置: 代码迷 >> Java相关 >> 重绘出现问题
  详细解决方案

重绘出现问题

热度:233   发布时间:2007-05-17 18:05:08.0
重绘出现问题

import java.awt.Point;

import javax.swing.JFrame;
import java.awt.Graphics;

import javax.swing.JFrame;

public class Test
{
public static void main(String[] args)
{

NewJFrame njf=new NewJFrame();
njf.setSize(100,100);
njf.setLocation(new Point(100,100));
njf.setVisible(true);
for(int i=0;i<20;i++)
{
String str=new Integer(i).toString();
njf.getstr(str);
try
{
Thread.sleep(1000);
}
catch (Exception e) {}
njf.repaint();
}

}

}




class NewJFrame extends JFrame
{ private String str="0";
public void paint(Graphics g)
{
g.drawString(str, 10, this.getHeight()/2);
}
public void getstr(String str)
{
this.str=str;
}

}

我写了这样的程序,在NewJFrame每次重绘的时候,原来的数字还在原位置,没有消去
新数字覆盖在上面,界面很模糊,怎样解决这样的问题。


----------------解决方案--------------------------------------------------------
调用super.paint(g)
还有,不推荐在JFrame上画东西,最好是在JPanel上画,
----------------解决方案--------------------------------------------------------
回复:(千里冰封)调用super.paint(g)还有,不推荐在J...

为什么不推荐在JFrame里面画东西啊 我经常在里面画 有啥不好的 冰峰给解释下:)是不是 在增进功能和图象转移的时候不方便呢?


----------------解决方案--------------------------------------------------------
JFrame是重量级组件,不是SWING自己画出来的,
----------------解决方案--------------------------------------------------------