2016-08-26 4 views
2

Как создать кнопку «Drop down» в JavaFX?Выпадающая кнопка JavaFX

До сих пор я использовал ChoiceBox для этой цели, теперь, когда я должен присвоить изображение на ChoiceBox,

ChoiceBox.setGraphic() // не доступна, как Buttons

Так что я планирую изменить его на раскрывающуюся кнопку. Так что я могу установить для него значок.

Am using SceneBuilder для проектирования пользовательского интерфейса.

Невозможно найти способ создания кнопки выпадающего меню с использованием JavaFX.

+1

Я не совсем уверен, что вы хотите либо, но, возможно, [SplitMenuButton] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/SplitMenuButton.html), что вы хотите? –

ответ

5

Если вам не нужно сохранять выбор, например, в ChoiceBox, вы можете использовать, например, элемент управления MenuButton.

MenuButton - это кнопка, которая при нажатии или нажатии отображает ContextMenu.

MenuButton имеет graphicProperty упоминаемые Вами в качестве базового класса Labeled.

Простой пример

final Image image = new Image(getClass().getResource("cross_red.png").toExternalForm(), 20, 20, true, true); 
MenuButton menuButton = new MenuButton("Don't touch this"); 
menuButton.setGraphic(new ImageView(image)); 
menuButton.getItems().addAll(new MenuItem("Really"), new MenuItem("Do not")); 

Это произведет кнопку как:

enter image description here

Примечание: Если вам нужна кнопка также действовать как настоящая кнопка, вы можете переключиться с MenuButton на SplitMenuButton. Единственное отличие состоит в том, что управляющее поле расщепляется в кнопках часть и ниспадающие частей (так что вы можете назначить действие также для заголовка):

SplitMenuButton, как кнопка MENU тесно связан с в концепция выбора MenuItem из меню. В отличие от MenuButton, SplitMenuButton разбит на две части: «область действия» и - «открытая область».

Если пользователь щелкает в области действия, то SplitMenuButton будет действовать аналогично нажатию кнопки стрельбы все, что связано со свойством ButtonBase.onAction.

Смежные вопросы