Javafx 2 制作窗口&x27;JavaFX2阶段的任务栏闪烁

Javafx 2 制作窗口&x27;JavaFX2阶段的任务栏闪烁,javafx-2,Javafx 2,我已经在甲骨文论坛上发布了这篇文章,但hgot没有回应,所以我在这里尝试。 有没有办法让特定舞台的窗口任务栏闪烁? 我正在构建一个IM客户端,我希望在收到新消息时任务栏闪烁。 使用Swing JFrame,我可以通过调用setVisible(true)来实现这一点;但是JavaFX2的阶段并没有以同样的方式运行。 任何帮助或指导都将不胜感激。 谢谢。我没有在所有系统上测试它,但在Win7上测试。如果运行下一个应用程序并更改焦点,它将通过调用Stage.toFront()闪烁。 公共类闪烁器扩展应

我已经在甲骨文论坛上发布了这篇文章,但hgot没有回应,所以我在这里尝试。 有没有办法让特定舞台的窗口任务栏闪烁? 我正在构建一个IM客户端,我希望在收到新消息时任务栏闪烁。 使用Swing JFrame,我可以通过调用setVisible(true)来实现这一点;但是JavaFX2的阶段并没有以同样的方式运行。 任何帮助或指导都将不胜感激。
谢谢。

我没有在所有系统上测试它,但在Win7上测试。如果运行下一个应用程序并更改焦点,它将通过调用
Stage.toFront()闪烁。

公共类闪烁器扩展应用程序{
@凌驾
public void start(final Stage)引发异常{
stage.setTitle(“我会眨眼”);
舞台场景(新场景(新组)(新文本(25,25,“闪烁”));
stage.show();
TimelineBuilder.create()关键帧(新的关键帧(持续时间.秒(5),新的EventHandler()){
@凌驾
公共无效句柄(ActionEvent t){
stage.toFront();
}
})).cycleCount(Timeline.unfinite).build().play();
}
公共静态void main(字符串[]args){
发射(args);
}
}

我使用了下面的方法,效果很好

if(!stage.isfocused()){
stage.toFront();

}
你好,谢尔盖,谢谢你的回复!。你知道,这对我不起作用。我正在运行Windows7 64位、JDK1.7、JavaFXJDK2.0.2 32位。这个想法是,如果舞台被图标化,toFront()会导致任务栏闪烁,而不是把它带到前面,对吗?我找到的唯一方法是,
if(!isFocused()){hide();}show()所以基本上如果用户正在写什么都不会发生。如果他没有,舞台就会隐藏并显示,这会导致任务栏闪烁。不过,我以后会记住你的建议。谢谢。我明白了,也许这取决于windows设置:)很高兴你找到了可行的解决方案!
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);
    }
}