2011-12-22 32 views
2

我已經在Oracle的論壇發佈了這個,但沒有迴應,所以我在這裏嘗試。 有什麼辦法讓窗口的任務欄在特定的階段閃爍? 我正在構建即時消息客戶端,並且我希望任務欄在新消息到達時閃爍。 使用Swing JFrame我可以通過調用setVisible(true)來實現此目的;但是JavaFX2的舞臺並不是一樣的。 任何幫助或指導將不勝感激。 謝謝。使窗口的任務欄閃爍爲JavaFX 2階段

回答

2

我沒有通過調用Stage.toFront()

public class Blinker extends Application { 

    @Override 
    public void start(final Stage stage) throws Exception { 
     stage.setTitle("i'll blink"); 
     stage.setScene(new Scene(new Group(new Text(25,25,"blink-blink")))); 
     stage.show(); 

     TimelineBuilder.create().keyFrames(new KeyFrame(Duration.seconds(5), new EventHandler<ActionEvent>() { 

      @Override 
      public void handle(ActionEvent t) { 
       stage.toFront(); 
      } 
     })).cycleCount(Timeline.INDEFINITE).build().play(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 
+1

謝爾蓋·您好,感謝您的回覆來測試所有系統,但對Win7的,如果你運行的下一個應用程序,並更改焦點會閃爍!你知道,那不適合我。我運行的Windows 7 64位,jdk 1.7,javafx jdk 2.0.2 32位。這個想法是,如果舞臺被圖標化,toFront()會導致任務欄閃爍,而不是將其帶到前面,對嗎? 我發現這樣做的唯一方法是, 'if(!isFocused()){ hide(); } show();' 所以基本上如果用戶寫什麼都不會發生。如果他不是,那麼舞臺將隱藏並顯示,這會導致任務欄閃爍。 雖然我會爲未來保留你的建議。 謝謝。 – alscu

+0

我看到了,也許它取決於Windows設置:)很高興找到工作解決方案! –