📄 例8-13.java
字号:
//Example 8-13
import java.awt.*;
import java.applet.Applet;
public class tt extends Applet implements Runnable
{
Thread runThread;
String s;
int s_length,x_character=0,y_coord,textcolor,backcolor,delay;
int appletWidth,appletHeight;
String fontName;
int fontSize;
Font wordFont;
FontMetrics wordMetrics;
public void init()
{
String temp;
appletWidth=getSize().width;appletHeight=getSize().height;
temp=getParameter("font");
fontName=(temp==null)?"TimesRoman":temp;
temp=getParameter("fontsize");
fontSize=(temp==null)?12:Integer.parseInt(temp);
wordFont=new Font(fontName,Font.BOLD,fontSize);
if(wordFont==null) wordFont=getFont();
wordMetrics=getFontMetrics(wordFont);
temp=getParameter("text");
s=(temp==null)?"Message goes here....":temp;
s_length=s.length();
temp=getParameter("textcolor");
textcolor=(temp==null)?0:Integer.parseInt(temp,16);
setForeground(new Color(textcolor));//教材无此句
temp=getParameter("backcolor");
backcolor=(temp==null)?0xffffff:Integer.parseInt(temp,16);
setBackground(new Color(backcolor));//教材无此句
temp=getParameter("delay");
delay=(temp==null)?100:Integer.parseInt(temp);
y_coord=appletHeight/2+(wordMetrics.getHeight()-wordMetrics.getDescent())/2;
}
public void start()
{
if(runThread==null)
{
runThread=new Thread(this);
runThread.start();
}
}
public void stop()
{
if(runThread!=null)
{
runThread.stop();
runThread=null;
}
}
public void run()
{
while(true)
{
if(++x_character>s_length)
x_character=0;
repaint();
try{Thread.sleep(delay);}catch(InterruptedException e){}
}
}
public void paint(Graphics g)
{
g.setFont(wordFont);
g.setColor(getForeground());//教材有错
g.drawString(s.substring(0,x_character),8,y_coord);
}
public void update(Graphics g)
{
if(x_character==0)
{
g.setColor(getBackground());
g.fillRect(0,0,appletWidth,appletHeight);
g.setColor(getForeground());
}
paint(g);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -