霸把repaint()换成update();
因为repaint()方法不清除原有图像信息.而update()方法清除.

解决方案 »

  1.   

    repaint()自动调用update()楼上方法不通。
    你这程序实现得太不漂亮了,简单的说在applet中想重复干什么的话,
    应该新创立一个线程,让这个线程去完成重画
      

  2.   

    ergo(ergo) 兄请多指教,该怎么创建线程.
    我是初学者很多不懂的.
      

  3.   

    哦,还有一个小程序也请你们帮我看一下:
    程序代码如下:
    import javax.swing.*;
    public class Button extends JFrame
    {
    JButton about = new JButton("about");
    JButton retry = new JButton("retry");
    JButton fail  = new JButton("fail");
    public void init()
    {

    setSize(400,300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel pane = new JPanel();
    pane.add(about);
    pane.add(retry);
    pane.add(fail);
    setContentPane(pane);
    System.out.println("program is startting~~~~~~~~~");
    }
    }
    html 代码如下:
    <HTML>
    <HEAD>
    </HEAD>
    <BODY BGCOLOR="000000">
    <CENTER>
    <APPLET
    code = "Button.class"
    width = "500"
    height = "300"
    >
    </APPLET>
    </CENTER>
    </BODY>
    </HTML>
    这个程序不能显示我想要显示的三个按钮,启动后显示小程序没有初始化,
    我不知道哪里错了。
      

  4.   

    sorry,刚才没自己看.你如果用JApplet,那么有时repaint()方法不会去调用update(),所以不能实现清屏。下列程序可以:
    import java.awt.*;
    import java.util.*;
    import javax.swing.*;
    import java.applet.Applet;public class Time extends JApplet {
    private String time;
    private GregorianCalendar day; public void init() {
    }
    public void paint(Graphics screen) 
    {
    day = new GregorianCalendar();
    time = day.getTime().toString();

    screen.drawString("Welcome to Java!!", 50, 60 );
    screen.drawString(time,5,25);
    try
    {
    Thread.sleep(1000);
    }catch(Exception e){e.printStackTrace();}
    //repaint(); update(screen);


    }
    }
      

  5.   

    唉,又发错了。
    import java.awt.*;
    import java.util.*;
    import javax.swing.*;
    import java.applet.Applet;public class Time extends Applet {
    private String time;
    private GregorianCalendar day; public void init() {
    }
    public void paint(Graphics screen) 
    {
    day = new GregorianCalendar();
    time = day.getTime().toString();

    screen.drawString("Welcome to Java!!", 50, 60 );
    screen.drawString(time,5,25);
    try
    {
    Thread.sleep(1000);
    }catch(Exception e){e.printStackTrace();}
    repaint();


    }
    }
      

  6.   

    谢谢 foryouever(光速兔子)!
      

  7.   

    还有就是foryouever(光速兔子) 你能不能帮我解释一下JApplet 和Applet的区别么?
    我在这里谢谢你了!
      

  8.   

    japplet比applet更好用,例如japplet可以添加menubar,而applet不行。可以这样理解,japplet继承了applet,并将其拓展,增加了一些方法,同时也更改了一些方法的用法,使得功能更强大,详情可以参考一下api文档。
      

  9.   

    GregorianCalendar();
    这个是什么方法啊
      

  10.   

    GregorianCalendar();是用来显示时间的.