Я разместил это на форумах Oracle, но не получил ответа, поэтому я пытаюсь здесь. Есть ли способ заставить панель задач окна для определенного этапа мигать? Я создаю клиент обмена мгновенными сообщениями и хочу, чтобы панель задач мигала при поступлении нового сообщения. Используя Swing JFrame, я мог добиться этого, просто вызвав setVisible(true); но этап JavaFX2 ведет себя иначе. Любая помощь или руководство будут высоко оценены. Спасибо.
Заставьте панель задач окна мигать для JavaFX 2 Stage
Ответы (2)
Я не проверял это на всех системах, но на 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);
}
}
person
Sergey Grinev
schedule
22.12.2011
Здравствуйте Сергей, Спасибо за ответ!. Знаешь, это не работает для меня. Я использую Windows 7 64 бит, jdk 1.7, javafx jdk 2.0.2 32 бит. Идея заключалась бы в том, что если сцена иконизирована, то toFront() заставит панель задач мигать, вместо того, чтобы вывести ее на передний план, верно? Единственный способ, который я нашел для этого, это
if (!isFocused()){ hide(); } show();
Так что в основном, если пользователь пишет, ничего не происходит. А если его нет, то сцена скрывается и показывается, из-за чего панель задач мигает. Я учту ваше предложение на будущее. Спасибо.
- person alscu; 23.12.2011
Я вижу, может быть, это зависит от настроек Windows :) Рад, что вы нашли рабочее решение!
- person Sergey Grinev; 23.12.2011
Я использовал ниже, и он отлично работает ..
if (! stage.isFocussed()){
stage.toFront();
}
person
Mallik
schedule
21.05.2019