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上的东西没反应,不是应该闪烁的吗?

解决方案 »

  1.   

    jlbTest.getText() == "welcome"  这个比较有问题吧,这是比较两个对象是否相等,不是比较对象的值是否相等,用equals试试
      

  2.   

      if (jlbTest.getText() == "welcome")
                        jlbTest.setText("");setText("");设置为空了,getText()换成equals()
      

  3.   

    应该是跟2楼说的一样,==比较的是地址不是值,
    用equals应该可以吧,"welcome".equals(jlbTest.getText()),或者试试equalsIgnoreCase,当然要import string类
    记得还有一个compareTo也可以比较
      

  4.   

    我试过了用equals也不对,谁能解答啊帮我,好纠结啊
      

  5.   

    我运行了下,真正的问题不在if那里,经测试label的text确实一直在变。
    问题还是在于绘制上,applet估计没几个人去研究了,我大概的看了下,还真弄不好
      

  6.   

    没问题 你可以把jlbTest.getText() 在后台输出,应该是布局问题
      

  7.   

    正常,
    你的 start 方法与界面是同一个线程,就算你用了 Thread.sleep(100) 也是把界面线程给 sleep 了,自然造成界面空白。
      

  8.   

    <applet code="FlashingText" width="400" height="400">
    <applet> 我的没问题
      

  9.   

    不小心贴错了
    应该是这样
    applet java应用小程序
    <applet code="FlashingText" width="400" height="400">
    <applet>
      

  10.   

    我觉得自己有点sb,贴个程序都贴不对,指定字节码文件,xxx.class<applet code="FlashingText.class" width="400" height="400">
    <applet>好像不带.class也出来了
      

  11.   

    用equals后的确可以闪烁了,楼主不信再试试,注意java文件和html文件放一起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().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>