Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文本不会延迟更改_Java_Swing - Fatal编程技术网

Java 文本不会延迟更改

Java 文本不会延迟更改,java,swing,Java,Swing,我在另一个类中有一个标签,我正在另一个组件的操作中更改此标签的文本。无论如何,我已经尝试过像Thread.sleep(300)这样的延迟,甚至实现了我自己的方法,比如 private void waitTime(long WaitTime){ long waitUntil = System.currentTimeMillis() + WaitTime; while(System.currentTimeMillis() != waitUntil);

我在另一个类中有一个标签,我正在另一个组件的操作中更改此标签的文本。无论如何,我已经尝试过像Thread.sleep(300)这样的延迟,甚至实现了我自己的方法,比如

    private void waitTime(long WaitTime){
        long waitUntil = System.currentTimeMillis() + WaitTime;
        while(System.currentTimeMillis() != waitUntil);
    }
它运行良好,但文本在延迟之前没有改变。是否有一个替代的延迟,文本实际上会改变自己,然后延迟

if(frame.Index == 10){
        frame.label.setText("Wow, you're more patient then I am, you win.");
        waitTime(3000);
        if(frame == null) return;
        System.exit(1);
}
  • 您正在将Swing事件线程以及整个应用程序与
    thread.sleep(…)
    一起休眠。因此,您不希望在Swing事件线程(也称为事件分派线程或EDT)上使用该线程
  • 相反,使用计时器,而不是
    线程。睡眠(…)
  • 另一种方法是向用户抛出带有所需消息的JOptionPane,然后在JOptionPane返回时退出应用程序。通过这种方式,您可以保证用户在应用程序退出之前至少看到了选项窗格,并希望看到其消息
1)请学习类、方法和属性名称的通用(特别是用于名称的大小写),并一致使用它们。2) 为了更快地获得更好的帮助,请发布一个。3) 哪个GUI工具包?Swing、AWT、JavaFX、GWT、SWT、Android。。?