Как я могу избавиться (или закрасить) поля подменю, используя JavaFX? - PullRequest
0 голосов
/ 18 февраля 2019

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

  • "- fx-отступ: 0px;"
  • "- fx-start-margin: 0px;"
  • "- fx-end-margin: 0px; "
  • " - fx-padding: 0px; "

, но, похоже, ничего не работает

Класс выглядит следующим образом:

public static void assembleMenuPane(VBox masterPane) {
    ArrayList<String> list = new ArrayList<String>() {{
        add("A");
        add("B");
        add("C");
    }};

    Menu menuOptions = new Menu("Options");
    menuOptions.setStyle("-fx-font-size:12; -fx-background-color: #c9c9c9;");

    Menu menuOptionsChild = new Menu("Opt_1");
    menuOptionsChild.setStyle("-fx-border-color: yellow;" +
            " -fx-background-color: red;" +
            " -fx-indent: 0px;" +
            " -fx-start-margin: 0px;" +
            " -fx-end-margin: 0px;" +
            " -fx-padding: 0px;");

    menuOptions.getItems().add(menuOptionsChild);
    list.forEach((children) -> menuOptionsChild.getItems().add(new MenuItem(children)));

    MenuBar menuBar = new MenuBar();
    menuBar.setStyle("-fx-background-color: #bf6dbf;");
    menuBar.getMenus().addAll(menuOptions);
    VBox menuBarPane = new VBox(menuBar);
    masterPane.getChildren().add(menuBarPane);
}

и вывод выглядит следующим образом:

sumbenu

1 Ответ

0 голосов
/ 18 февраля 2019

Вот ссылка на корневой CSS-файл, используемый с помощью Builder сцены: modena.css

Посмотрите на меню, строку меню и раздел пункта меню.Если я понимаю, что вы хотите, следующие два стиля уберут пробел в контекстном меню.

.context-menu { 
-fx-padding: 0; }

.menu-item {
-fx-padding: 0; }

В этом конкретном пункте меню также есть левый и правый контейнер.В левом контейнере отображается текст, а в правом контейнере - стрелка.Чтобы получить желаемый эффект, необходимо убедиться, что вы применяете его к правильному узлу в файле modena.css.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...