import javax.swing.*;
public class FlashingText extends JApplet {
private JLabel jlbTest = new JLabel("welcome", JLabel.CENTER);
public void init() {
add(jlbTest);
}
public void start() {
try {
while (true) {
if (jlbTest.getText() == "welcome")
jlbTest.setText("");
else
jlbTest.setText("welcome");
//System.out.println("123");
Thread.sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}这个为什么label上的东西没反应,不是应该闪烁的吗?
public class FlashingText extends JApplet {
private JLabel jlbTest = new JLabel("welcome", JLabel.CENTER);
public void init() {
add(jlbTest);
}
public void start() {
try {
while (true) {
if (jlbTest.getText() == "welcome")
jlbTest.setText("");
else
jlbTest.setText("welcome");
//System.out.println("123");
Thread.sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}这个为什么label上的东西没反应,不是应该闪烁的吗?
jlbTest.setText("");setText("");设置为空了,getText()换成equals()
用equals应该可以吧,"welcome".equals(jlbTest.getText()),或者试试equalsIgnoreCase,当然要import string类
记得还有一个compareTo也可以比较
问题还是在于绘制上,applet估计没几个人去研究了,我大概的看了下,还真弄不好
你的 start 方法与界面是同一个线程,就算你用了 Thread.sleep(100) 也是把界面线程给 sleep 了,自然造成界面空白。
<applet> 我的没问题
应该是这样
applet java应用小程序
<applet code="FlashingText" width="400" height="400">
<applet>
<applet>好像不带.class也出来了
public class FlashingText extends JApplet {
private JLabel jlbTest = new JLabel("welcome", JLabel.CENTER);
public void init() {
add(jlbTest);
}
public void start() {
try {
while (true) {
if (jlbTest.getText().equals("welcome"))
jlbTest.setText("");
else
jlbTest.setText("welcome");
//System.out.println("123");
Thread.sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
<html>
<body>
<applet code="FlashingText" width="400" height="400">
</applet>
</body>
</html>