如何在 JavaFX 中创建 SplitMenuButton?
javafxobject oriented programmingprogramming更新于 2025/4/13 20:07:17
菜单是呈现给用户的选项或命令列表,通常菜单包含执行某些操作的项目。菜单的内容称为菜单项,菜单栏包含多个菜单。
按钮控件位于用户界面应用程序中,一般来说,单击按钮时会执行相应的操作。
SplitMenuButton 提供按钮和菜单的功能。它分为两个区域:操作区域和菜单区域。单击任一区域都会显示相应的功能。
您可以通过实例化 javafx.scene.control.SplitMenuButton 类来创建拆分菜单按钮。
示例
以下示例演示了如何创建 SplitMenuButton。
import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.MenuItem; import javafx.scene.control.SplitMenuButton; import javafx.scene.image.ImageView; import javafx.scene.layout.HBox; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.stage.Stage; public class SplitMenuButtonExample extends Application { public void start(Stage stage) { //创建 ImageView ImageView img = new ImageView("UIControls/globe.png"); img.setFitWidth(20); img.setFitHeight(20); //创建标签 Label label = new Label("选择语言"); Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12); label.setFont(font); //创建菜单 SplitMenuButton menu = new SplitMenuButton(); //设置 SplitMenuButton 的文本 menu.setText("Language"); //设置按钮的图像 menu.setGraphic(img); //创建菜单项 menu.setMnemonicParsing(true); MenuItem item1 = new MenuItem("Telugu"); MenuItem item2 = new MenuItem("Hindi"); MenuItem item3 = new MenuItem("English"); MenuItem item4 = new MenuItem("Tamil"); MenuItem item5 = new MenuItem("Malayalam"); //将所有菜单项添加到菜单 menu.getItems().addAll(item1, item2, item3, item4, item5); //将选择框添加到场景中 HBox layout = new HBox(25); layout.getChildren().addAll(label, menu); layout.setPadding(new Insets(15, 50, 50, 130)); layout.setStyle("-fx-background-color: BEIGE"); //设置舞台 Scene scene = new Scene(layout, 595, 200); stage.setTitle("Split Menu Button"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }