2

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

4

2 回答 2

4

我没有在所有系统上测试它,但在 Win7 上,如果你运行下一个应用程序并改变焦点,它会通过调用闪烁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);
    }
}
于 2011-12-22T13:08:07.240 回答
0

我使用了下面的,它工作正常..

if (! stage.isFocussed()){
stage.toFront();
}

于 2019-05-21T10:39:57.010 回答