如何在 JavaFX 中创建 SplitMenuButton?


菜单 是提供给用户的选项或命令的列表,通常菜单包含执行某些操作的项目。菜单的内容称为菜单项,而菜单栏容纳多个菜单。

按钮 控制用户界面应用程序,通常情况下,单击此按钮时它执行相应的操作。

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) {
      //Creating an ImageView
      ImageView img = new ImageView("UIControls/globe.png");
      img.setFitWidth(20);
      img.setFitHeight(20);
      //Creating a label
      Label label = new Label("Select A Language");
      Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
      label.setFont(font);
      //Creating a menu
      SplitMenuButton menu = new SplitMenuButton();
      //Setting text to the SplitMenuButton
      menu.setText("Language");
      //Setting an image to the button
      menu.setGraphic(img);
      //Creating menu Items
      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");
      //Adding all the menu items to the menu
      menu.getItems().addAll(item1, item2, item3, item4, item5);
      //Adding the choice box to the scene
      HBox layout = new HBox(25);
      layout.getChildren().addAll(label, menu);
      layout.setPadding(new Insets(15, 50, 50, 130));
      layout.setStyle("-fx-background-color: BEIGE");
      //Setting the stage
      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);
   }
}

输出

更新于:20-May-2020

476 次浏览

开创你的 职业生涯

完成课程获得认证

开始
广告