为什么标签没有出现在eventhandler方法中?

时间:2013-11-25 16:43:51

标签: java user-interface javafx label

这是一个按钮的事件处理程序,它暂停程序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();

            }
        }
    });

P.S。当我点击按钮时,屏幕会冻结一秒钟,因此事件处理程序正在运行,但标签根本没有显示。

1 个答案:

答案 0 :(得分:1)

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