如何在 JavaFX 中创建 RadioMenuItem?
菜单是一列选项或命令,提供给用户,通常菜单包含执行某些操作的项目。菜单的内容称为菜单项,而菜单栏包含多个菜单。
JavaFx 支持三种类型的菜单项,即复选框菜单项、自定义菜单项和单选按钮菜单项。
RadioMenuItem
RadioMenuItem 是一种特殊的 MenuItem,它具有类似于复选框的复选标记(对号)。它有两种状态,选定的(带复选标记)和未选定的(无复选标记)。它由**javafx.scene.control.RadioMenuItem** 类表示。
你可以将一堆单选按钮菜单项添加到切换组中,就像切换按钮或单选按钮一样。如果未添加,它将像 CheckMenuItem 一样起作用。
要在菜单中添加 CheckMenuItem −
实例化**Menu** 类。
实例化**RadioMenuItem** 类。
将所有创建的复选菜单菜单项添加到菜单中,如下所示 −
menu.getItems().add(item);
通过实例化 MenuBar 类来创建一个菜单栏。
将菜单添加到菜单栏中,如下所示 −
menuBar.getMenus().add(menu);
将菜单栏添加到场景中。
范例
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.RadioMenuItem;
import javafx.scene.control.SeparatorMenuItem;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class RadioMenuItemExample extends Application {
@Override
public void start(Stage stage) {
//Creating a menu
Menu fileMenu = new Menu("File");
//Creating menu Items
Menu view = new Menu("Align");
MenuItem edit = new MenuItem("Edit");
MenuItem exit = new MenuItem("Exit");
//Creating menu items for the sub item edit
RadioMenuItem sub1 = new RadioMenuItem("Right");
RadioMenuItem sub2 = new RadioMenuItem("Left");
RadioMenuItem sub3 = new RadioMenuItem("Center");
//Adding toggle group to the view menu item
view.getItems().addAll(sub1, sub2, sub3);
//Creating a separator
SeparatorMenuItem sep = new SeparatorMenuItem();
//Adding all the menu items to the menu
fileMenu.getItems().addAll(edit, view, sep, exit);
//Creating a menu bar and adding menu to it.
MenuBar menuBar = new MenuBar(fileMenu);
menuBar.setTranslateX(200);
menuBar.setTranslateY(20);
//Setting the stage
Group root = new Group(menuBar);
Scene scene = new Scene(root, 595, 200, Color.BEIGE);
stage.setTitle("Menu Example");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP