目录
一、环境
jdk8
二、模拟
三、代码
package xyz.hashdog.class27;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.image.ImageView;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
/**
* @author th
* @description: TODO
* @projectName hashdog
* @date 2020/2/1620:48
*/
public class Launch extends Application {
public static void main(String[] args) {
Application.launch(Launch.class, args);
}
@Override
public void start(Stage primaryStage) throws Exception {
AnchorPane an = new AnchorPane();
//创建menubar
MenuBar menuBar = new MenuBar();
Menu menu1 = new Menu("menu1");
Menu menu2 = new Menu("menu2");
Menu menu3 = new Menu("menu3");
Menu menu4 = new Menu("menu4");
//绑定menu
menuBar.getMenus().addAll(menu1, menu2, menu3, menu4);
//绑定一个图标
ImageView imageView = new ImageView("https://img-blog.csdnimg.cn/20200218180346114.png");
imageView.setFitWidth(16);
imageView.setFitHeight(16);
MenuItem item1 = new MenuItem("item1", imageView);
//设置item1的快捷键
item1.setAccelerator(KeyCombination.valueOf("ctrl+m"));
//item1的点击事件
item1.setOnAction(e -> {
System.out.println("item1的点击事件");
});
MenuItem item2 = new MenuItem("item2");
MenuItem item3 = new MenuItem("item3");
MenuItem item4 = new MenuItem("item4");
MenuItem item5 = new MenuItem("item5");
//子菜单
Menu sub = new Menu("sub");
MenuItem itet6 = new MenuItem("itet6");
MenuItem itet7 = new MenuItem("itet7");
sub.getItems().addAll(itet6, itet7);
//分离器
SeparatorMenuItem separ1 = new SeparatorMenuItem();
SeparatorMenuItem separ2 = new SeparatorMenuItem();
//将menuitem放到menu用分离器分隔
menu1.getItems().addAll(item1, separ1, item2, separ2, item3, sub);
menu2.getItems().addAll(item4, item5);
//单选组
ToggleGroup tg = new ToggleGroup();
//单选项
RadioMenuItem rmi1 = new RadioMenuItem("rmi1");
RadioMenuItem rmi2 = new RadioMenuItem("rmi2");
//默认选择
rmi2.setSelected(true);
RadioMenuItem rmi3 = new RadioMenuItem("rmi3");
rmi1.setToggleGroup(tg);
rmi2.setToggleGroup(tg);
rmi3.setToggleGroup(tg);
//给menu3添加单选
menu3.getItems().addAll(rmi1, rmi2, rmi3);
//创建复选项
CheckMenuItem cmi1 = new CheckMenuItem("cmi1");
CheckMenuItem cmi2 = new CheckMenuItem("cmi2");
CheckMenuItem cmi3 = new CheckMenuItem("cmi3");
menu4.getItems().addAll(cmi1, cmi2, cmi3);
an.getChildren().add(menuBar);
an.setStyle("-fx-background-color: deepskyblue");
Scene s = new Scene(an);
primaryStage.setScene(s);
primaryStage.setTitle("hashdog");
primaryStage.setWidth(500);
primaryStage.setHeight(300);
//设置窗口不可拉伸
primaryStage.setResizable(false);
primaryStage.show();
menuBar.setPrefWidth(primaryStage.getWidth());
}
}