Как да направите JavaFX-Widget

възможно ли е да залепите сцена към работния плот?

Искам да държа приложението си като притурка, така че когато стартира, трябва да се показва точно над работния плот, а не пред текущото приложение, което може да бъде отворено.

Другото условие за джаджа е да няма запис в лентата на задачите. Възможно ли е и това?


person Gundon    schedule 29.03.2013    source източник
comment
Разгледайте youtube.com/watch?v=IFIlr6cpX64   -  person joey rohan    schedule 29.03.2013
comment
Не можете да направите това директно в java, те са изградени в html и javascript.   -  person joey rohan    schedule 29.03.2013


Отговори (1)


Опитах това с JavaFX 2.2 и имах следните резултати:

така че когато стартира, трябва да се показва точно над работния плот, а не пред текущото приложение, което може да бъде отворено

Извикването на stage.toBack ще постави етап зад всеки други прозорци.

Успях да накарам прозорец винаги да остава зад други прозорци през повечето време (поне на Mac). За да направя това, добавих няколко слушатели и филтри, преди да покажа сцената в приложение за часовник.

stage.focusedProperty().addListener(new ChangeListener<Boolean>() {
  @Override
  public void changed(ObservableValue<? extends Boolean> observableValue, Boolean wasFocused, Boolean focused) {
    stage.toBack();
  }
});

stage.addEventFilter(MouseEvent.ANY, new EventHandler<MouseEvent>() {
  @Override
  public void handle(MouseEvent mouseEvent) {
    stage.toBack();
  }
});

Има съществуваща заявка за възможност за задаване на етап винаги да бъде отгоре. Можете да създадете нова съответна заявка за възможност сцената винаги да е отзад.

Другото условие за джаджа е да няма запис в лентата на задачите

Под Windows мисля, че ако инициирате сцената стил към StageStyle.UTILITY, тогава Windows не покажете икона за сцената в лентата на задачите на Windows.

Опитах няколко различни сценични стила на OS X и малка икона на чаша на Java винаги се показваше в докинг станцията на OS X, когато стартирах приложението и (за разлика от Windows) задавах иконите за сцената не се отърваха от иконата на чашата на Java. Може би, ако сте създали самостоятелно OS X приложение, бихте могли да завъртите иконата изключено за нея по време на етапа на опаковане или задайте иконата на прозрачно изображение, така че да не се вижда от потребителя.

Можете също така да създадете заявка за функция за това (отделно от тази винаги към задната част) в програмата за проследяване на проблеми с JavaFX. Ако създавате някакви проблеми, свързани с това, обяснете вашия случай на употреба и свържете обратно към този въпрос.

person jewelsea    schedule 30.03.2013
comment
Това решение работи перфектно за мен на Windows, въпреки че не е необходимо да скривам прозореца от лентата на задачите. Мисля, че сега, с JavaFX 8, където имаме alwaysOnTop функционалност, трябва да има подобно нещо, което да накара прозореца винаги да остава назад. Някой знае ли дали вече има проблем с официалния инструмент за проследяване на проблеми? - person marcel; 30.03.2015
comment
Не знам дали е създадена заявка за функция. Ако желаете, можете да търсите в инструмента за проследяване на проблеми и да създадете такъв, ако вече няма съществуваща заявка за функция. - person jewelsea; 30.03.2015