日期:2014-05-20  浏览次数:20695 次

急!!!Frame 问题
这是我的程序,我想在Frame   窗口被其他窗口覆盖后(即不是活动窗口),再重新返回成为活动窗口时,Frame上的内容不会丢失.
我是初学者,弄了一天也没整明白,   小弟是初学者,请大家帮帮忙,谢谢~~~@!!!!!!  


import   java.awt.*;
class   FrameTest   extends   Frame   //extends   Frame
{
FrameTest(String   str)
{
super(str);
}
public   static   void   main(String   []   args)   //throws   Exception
{
FrameTest   f=new   FrameTest( "Frame   Test! ");
Panel   pl=new   Panel();
f.setSize(1000,800);
f.setLayout(null);
pl.setSize(200,300);
pl.setBackground(Color.yellow);

f.setVisible(true);
f.add(pl);
pl.setVisible(true);


for(int   i=0;i <=1000;i=i+50)
{
f.getGraphics().drawString( "13213 ",i,i);
}

}

}


------解决方案--------------------
import java.awt.*;
class FrameTest extends Frame //extends Frame
{
FrameTest(String str)
{
super(str);
Panel pl=new Panel();
setSize(1000,800);
setLayout(null);
pl.setSize(200,300);
pl.setBackground(Color.yellow);
f.add(pl);
for(int i=0;i <=1000;i=i+50)
{
getGraphics().drawString( "13213 ",i,i);
}
}

public static void main(String [] args) //throws Exception
{
FrameTest f=new FrameTest( "Frame Test! ");
f.setVisible(true);
}
}
------解决方案--------------------
import java.awt.*;
import java.awt.event.*;
class FrameTest extends Frame //extends Frame
{
FrameTest(String str)
{
super(str);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}); // 窗口关闭
}
public static void main(String [] args) //throws Exception
{
FrameTest f=new FrameTest( "Frame Test! ");
Panel pl=new Panel();
f.setSize(1000,800);
f.setLayout(null);
pl.setSize(200,300);
pl.setBackground(Color.yellow);

f.setVisible(true);
f.add(pl);
pl.setVisible(true); //这个没必要的,Panel会随Frame一起显示的
}

public void paint(Graphics g)
{
for(int i=0;i <=1000;i=i+50)
g.drawString( "13213 ",i,i);
}

}


加了些代码,这样就可以了,参考下