JavaFX下拉按钮

use*_*187 5 java javafx imagebutton

如何在JavaFX中创建"下拉按钮"?

到目前为止,我正在使用a ChoiceBox为目的,现在我必须为其分配图像ChoiceBox,

ChoiceBox.setGraphic()//不可用 Buttons

所以我打算把它改成一个下拉按钮.这样我就可以设置一个图标了.

现在用SceneBuilder设计UI.

没有帮助搜索如何使用JavaFX创建下拉按钮.

DVa*_*rga 8

如果您不必像在a中那样存储选择ChoiceBox,例如MenuButton控件.

MenuButton是一个按钮,单击或按下该按钮将显示ContextMenu.

A MenuButtongraphicProperty你提到的基础类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"));
Run Code Online (Sandbox Code Playgroud)

这将生成一个按钮,如:

在此输入图像描述

注意:如果您需要按钮也像真正的按钮一样,您可以切换MenuButtonSplitMenuButton.唯一的区别是控制字段被分成按钮部分和下拉部分(因此您也可以为标题分配一个动作):

与MenuButton一样,SplitMenuButton与从菜单中选择MenuItem的概念密切相关.与MenuButton不同,SplitMenuButton分为两部分,即"action"区域和"menu open"区域.

如果用户单击操作区域,则SplitMenuButton将与Button类似,触发与ButtonBase.onAction属性关联的任何内容.