Группа пунктов контекстного меню JavaFX - PullRequest
0 голосов
/ 16 ноября 2018

Я хочу установить видимость некоторых (не всех) пунктов контекстного меню внутри одного и того же контекстного меню без необходимости явно задавать видимость каждого из них, поскольку это выглядит как много стандартного кода.Есть ли способ иметь общий контейнер или что-то подобное для этих пунктов меню, чтобы я мог просто установить видимость этого контейнера?Я немного погуглил, но пока не нашел ничего связанного.

Я думаю о том, чтобы дать этим пунктам меню один и тот же класс css, а затем создать 2 таблицы стилей, которые определяют поведение этого класса, одна с visibility:visible и другой visibility:hidden, тогда я могу динамически загружать таблицы стилей в соответствии со своими потребностями.Я верю, что это может сработать, но на мой вкус это кажется немного хакерским.Я бы предпочел более нормальный способ сделать это.

1 Ответ

0 голосов
/ 16 ноября 2018

Свяжите их свойства видимости с одним, отдельным свойством.

private final BooleanProperty selectionItemsVisible =
    new SimpleBooleanProperty();

// ...

    cutMenuItem.visibleProperty().bind(selectionItemsVisible);
    copyMenuItem.visibleProperty().bind(selectionItemsVisible);
    saveSelectionMenuItem.visibleProperty().bind(selectionItemsVisible);

    // ...

    selectionItemsVisible.set(true);
...