读书人

java Applet怎么在cmd下用main()也能同

发布时间: 2012-02-12 17:16:34 作者: rapoo

java Applet如何在cmd下用main()也能同样运行?
mport java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class webTest extends Applet
{

public void paint(Graphics g)
{
int k=10;
g.setColor(Color.red);

for (int i=1;i<=30;i++)
g.drawString(""+i,20,20+i*15);

}
public static void main(String args[])
{
Frame frame0=new Frame("Frame1");
frame0.setSize(800,600);
frame0.setVisible(true);
Graphics g=frame0.getGraphics();
webTest web1=new webTest();
web1.paint(g);
}
关键是如何在静态方法中,调用 paint(Graphics g)问题,
1.不能直接在main()中调用paint(Graphics g),有没有更好的方法?
2.frame0没法关闭,如何用事件解决?
3.我的上述代码虽然能显示,但Frame0中显示的东西一旦破坏就不能自动刷新,
如何放到重画事件中?


[解决办法]
如果方法是静态方法的话,可以用类名.方法调用..即是: webTest.paint();

如果方法不是静态方法的话,必须先行实例化webTest类的对象,再用对象调用..
即:
webTest wt= new webTest();
wt.paint();
[解决办法]

Java code
import java.applet.Applet;import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;public class WebTest extends Applet   //类的名字建议大写{     public void paint(Graphics g)  {    int k=10;    g.setColor(Color.red);        for (int i=1;i<=30;i++)      g.drawString(""+i,20,20+i*15);  }  public static void main(String args[])  {    Frame frame0=new Frame("Frame1");    WebTest web1=new WebTest();    frame0.add(web1);  //Applet是Panel类的子类,所以,当做Panel直接加在Frame里面就行了。    frame0.setSize(800,600);      frame0.setVisible(true);  }}
[解决办法]
探讨
mport java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class webTest extends Applet
{

public void paint(Graphics g)
{
int k=10;
g.setColor(Co……

[解决办法]
你加上下面的code:
Java code
frame0.addWindowListener(new WindowAdapter() {        @Override        public void windowClosing(WindowEvent e) {            super.windowClosed(e);            System.exit(0);        }    }); 

读书人网 >J2SE开发

热点推荐