当前位置: 代码迷 >> Java相关 >> 闪动文字的程序
  详细解决方案

闪动文字的程序

热度:107   发布时间:2006-08-28 15:52:45.0
闪动文字的程序

这个程序执行不了 请帮忙看一下好吗?怎么解决啊? 我的classpath .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
系统变量是 path . ;%JAVA_HOME%\bin;C:\oracle\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%ANT_HOME%\bin;C:\Program Files\SecureCRT\
源码:
import java.awt.*;
import java.util.StringTokenizer;
public class BlinkText extends java.applet.Applet implements Runnable
{
Thread blinker;
String lbl;
Font font;
int speed;
public void init (){
font = new java.awt.Font("TimesRoman",Font.PLAIN,24);
String att = getParameter("speed");
speed = (att == null) ? 400 : (1000 / Integer.valueof(att).intValue());
att = getParameter("lbl");
lbl = (att == null) ? "Blink" : att;
}
public void paint (Graphics g){
int x = 0, y = font.getSize(),space;
int red = (int)(Math.random() * 50);
int green = (int)(Math.random() * 50);
int blue = (int)(Math.random() * 256);
Dimension d = size ();
g.setColor(Color.black);
g.setFont(font);
FontMetrics fm = g.getFontMetrics();
space = fm.stringWidth("");
for (StringTokenizer t = new StringTokenizer(lbl);t.hasMoreTokens();){
String word = t.nextToken();
int w = fm.stringWidth(word) + space;
if (x + w > d.width){
x = 0;
y +=font.getSize();
}
if (Math.random() <0.5) {
g.setColor(new java.awt.Color((red + y * 30) % 256,(green + x /3) % 256,blue));
}else{
g.setColor(Color.lightGray);
}
g.drawString(word, x, y);
x +=w;
}
}
public void start(){
blinker = new Thread(this);
blinker.start();
}
public void stop() {
blinker.stop();
}
public void run() {
while (true) {
try {
Thread.currentThread().sleep(speed);
}catch (InterruptedException e){}
repaint();
}
}
}
搜索更多相关的解决方案: JAVA  HOME  bin  java  

----------------解决方案--------------------------------------------------------
valueOf()
----------------解决方案--------------------------------------------------------

谢谢楼上解决了第一个问题,但是第二个问题还没解决啊???


----------------解决方案--------------------------------------------------------
public void stop() {
blinker.stop();
}

blinke.stop这个方法 是过时的

----------------解决方案--------------------------------------------------------

谢谢楼上版主,但是怎么解决啊 能赐教一下吗 谢谢


----------------解决方案--------------------------------------------------------

自己在线程里面定义一个标量,当要线程退出时,把这个标量设为false就可以了
比如
while(go){
//
}
go=false就可以退出这个循环了


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------

版主,对不起啊!!本人刚学java不太懂你的意思,能否在源码里帮我修改一下,让我更好的理解!!!多谢多谢!!!


----------------解决方案--------------------------------------------------------
千里的意思就是写个循环
控制循环的条件就是那个go(是boolean型的)
如果想退出就将go=false
while(go)
{
}

不就不循环了么!!
对了
楼主和我是一个学校的!!!!!!!11

----------------解决方案--------------------------------------------------------

楼上的校友能否把解决的方法写在我的程序里,让这个程序能运行~~多谢了啊~~
我是06年的毕业生 你还在学校上学吗 你是哪个省的啊


----------------解决方案--------------------------------------------------------
  相关解决方案