这是我移动横幅的applet代码。它工作正常,但有一个疑问。
import java.applet.*;
import java.awt.*;
/*<html>
<applet code ="SimpleBanner" width="2000" height="2000"></applet></html>*/
public class SimpleBanner extends Applet implements Runnable{
String msg=" A Simple Banner Is Moving";
boolean flag=false;
Font f=new Font("TimesRoman",Font.BOLD,50);
int i=10;
public void init()
{
setBackground(Color.gray);
setFont(f);
setForeground(Color.green);
}
public void start()
{
Thread t=new Thread(this);
t.start();
}
public void run()
{
for(;;)
{
try{
repaint();
if(flag)
break;
Thread.sleep(250);
}catch(InterruptedException e){}
}
}
public void paint(Graphics g)
{
char ch=msg.charAt(0);
msg=msg.substring(1,msg.length());
msg+=ch;
drawString(msg,300,100);
}
public void stop()
{
flag=true;
}
}
正如您所看到的,我没有扩展Graphics
类,而是使用setFont()
类中定义的Graphics
方法而没有它的对象如何可能?如果我尝试在没有drawString()
的{{1}}方法中调用paint()
方法,则无效。