【问题标题】:Why is label not showing up in eventhandler method?为什么标签没有出现在事件处理程序方法中?
【发布时间】:2013-12-10 11:54:22
【问题描述】:

这是一个按钮的事件处理程序,它将程序暂停 1 秒。每当我暂停它时,我都希望出现一个窗口,说明程序已暂停 1 秒。我添加了一个标签,但它没有显示出来。为什么会这样?

        public void handle(MouseEvent me) {
            try {

                Label label1 = new Label("Paused for one second.");
                label1.setAlignment(Pos.CENTER);
                label1.setVisible(true);
                Thread.sleep(1000);

            } catch (InterruptedException ex) {
                Thread.currentThread().interrupt();

            }
        }
    });

附:当我单击按钮时,屏幕会冻结一秒钟,因此事件处理程序正在工作,但标签根本不显示。

【问题讨论】:

    标签: java user-interface javafx label


    【解决方案1】:

    您只需创建一个新标签。您不会将其添加到节点。 将标签添加到场景的某个窗格中以便能够显示它。 从句柄方法中创建您的标签,然后在句柄方法上执行setVisible(true)。 (默认情况下,可见性设置为 true。因此在创建标签时将其设置为 false)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      相关资源
      最近更新 更多