Как сделать комбобокс с несколькими выпадающими списками? - PullRequest
0 голосов
/ 05 января 2019

Я хочу сделать выпадающее меню Combobox ala, как на многих сайтах.

  • Категория А
    • аа
    • аЬ
    • ас
  • Категория Б
    • ба
    • бб
    • Ьс

Что-то вроде:

https://ugate.files.wordpress.com/2013/06/scroll-menu3.png?w=630

Я не нашел нигде подобной проблемы. И я не знаю с чего начать. Должен ли я сделать пользовательский комбинированный список, используя contextmenu вместо listview, так как contextmenu делает довольно похожую работу

1 Ответ

0 голосов
/ 06 января 2019

Если я правильно понял, для этой цели я бы использовал подход Кнопка - Контекстное меню - Меню - CheckMenuItem.

ContextMenu contextMenu = new ContextMenu();
Menu menu1 = new Menu("Scrollable Submenu");
Menu menu2 = new Menu("Regular Submenu");
contextMenu.getItems().addAll(menu1, menu2);

for (int i = 1 ; i <= 25; i++) {
    CheckMenuItem checkMenuItem = new CheckMenuItem("Option " + i);
    menu1.getItems().add(checkMenuItem);
}

Button button = new Button();
button.setContextMenu(contextMenu);

BorderPane root = new BorderPane();
root.setTop(new HBox(button));

Scene scene = new Scene(root, 300, 250);

primaryStage.setTitle("Dropdown Menu");
primaryStage.setScene(scene);
primaryStage.show();

button.setOnAction(e -> button.getContextMenu().show(button.getScene().getWindow()));

Дайте мне знать, соответствует ли этот подход вашим потребностям.

...