如何在JavaFX中创建MenuButton?

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

通常,按钮在用户界面应用程序中进行控制,单击该按钮将执行相应的操作。

MenuButton是一个简单的按钮,在单击它时显示一个菜单。您可以通过实例化javafx.scene.control.MenuButton类来创建菜单按钮。

要填充其菜单,请创建所需数量的MenuItem类的对象,然后将它们添加到MenuButton的可观察列表中,如下所示:

menuButton.getItems(item1, item2, item3);

示例

以下示例演示了MenuButton的创建。

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.MenuButton;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class MenuButtonExample extends Application {
   @Override
   public void start(Stage stage) {
      //创建菜单
      MenuButton menu = new MenuButton("Technology");
      //创建菜单项
      menu.setMnemonicParsing(true);
      MenuItem item1 = new MenuItem("Java");
      MenuItem item2 = new MenuItem("Python");
      MenuItem item3 = new MenuItem("C++");
      MenuItem item4 = new MenuItem("Big Data");
      MenuItem item5 = new MenuItem("Machine Learning");
      //将所有菜单项添加到菜单
      menu.getItems().addAll(item1, item2, item3, item4, item5);
      //将选择框添加到场景
      HBox layout = new HBox(25);
      layout.getChildren().addAll(menu);
      layout.setPadding(new Insets(15, 50, 50, 150));
      layout.setStyle("-fx-background-color: BEIGE");
      //设置舞台
      Scene scene = new Scene(layout, 595, 200);
      stage.setTitle("Menu Button");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出结果