java - JLabel文本不显示

标签 java swing event-dispatch-thread

我在JFrame上添加了JLabel,并在单击JOptionPane的YES按钮时显示框架,它显示框架但不显示标签文本。

enter image description here

int yes = JOptionPane.showConfirmDialog(null,"Do you want to reactivate previous 
       schedule(s)","Reactivate Schedule",JOptionPane.OK_CANCEL_OPTION,
       JOptionPane.INFORMATION_MESSAGE);

    if(yes == JOptionPane.OK_OPTION) {
        setVisible(false);
        disp_wait.setVisible(true);
        for(int i=0 ; i<options.taskList.size(); i++) {
            dataList = Options.getInstance().getTaskList(); 
            Task task=dataList.get(i);
            boolean active = task.getActive();
            if(active) {
                task.setActive(true);
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException ex) {
                    ex.getMessage();
                }
            }
        }
    }

enter image description here

最佳答案

您的所有代码都在事件处理期间执行一些处理。在 Java 中这是一个问题,只有在处理完所有事件处理后才会绘制 GUI。除此之外,很高兴看到 JFrame 的代码,它可能不会在调用 pack() 之前添加标签

关于java - JLabel文本不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994417/

相关文章:

java - JLabel 仅在调整窗口大小后出现在 JFrame 中

java - 如何设置 JTabbed Pane 的宽度以适合选项卡

事件调度线程上的java自定义事件

java - 每秒而不是立即执行和显示图形

java - 如何使用这个 Color 的构造函数? java

java - quartz 调度程序示例程序给出错误

Java输出: can't write to subdirectory

java - Java 中不显示多边形形状

从 SQL 数据库加载时的 Java 进度条

java - 使用单列格式化 SWT 表