2013-11-25 20 views
0

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

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

相关问题