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上画,
----------------解决方案--------------------------------------------------------
为什么不推荐在JFrame里面画东西啊 我经常在里面画 有啥不好的 冰峰给解释下:)是不是 在增进功能和图象转移的时候不方便呢?
----------------解决方案--------------------------------------------------------
JFrame是重量级组件,不是SWING自己画出来的,
----------------解决方案--------------------------------------------------------