目录
一、环境
jdk8
二、模拟
三、代码
package xyz.hashdog.class28;
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.scene.layout.HBox;
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);
MenuItem item1 = new MenuItem("item1");
MenuItem item2 = new MenuItem("item2");
MenuItem item3 = new MenuItem("item3");
MenuItem item4 = new MenuItem("item4");
MenuItem item5 = new MenuItem("item5");
//自定item
CustomMenuItem cmi1 = new CustomMenuItem();
Button button = new Button("button");
cmi1.setContent(button);
CustomMenuItem cmi2 = new CustomMenuItem();
//进度条
ProgressBar bar = new ProgressBar(0.5);
cmi2.setContent(bar);
//自定义item放布局
CustomMenuItem cmi3 = new CustomMenuItem();
HBox box = new HBox();
box.getChildren().addAll(new Button("b1"), new Button("b2"), new Button("b3"));
cmi3.setContent(box);
//将menuitem放到menu
menu1.getItems().addAll(item1, item2, item3, cmi1, cmi2, cmi3);
menu2.getItems().addAll(item4, item5);
//按钮菜单
MenuButton mb = new MenuButton("mb");
MenuItem item6 = new MenuItem("item6");
MenuItem item7 = new MenuItem("item7");
mb.getItems().addAll(item6, item7);
//设置上边的距离
AnchorPane.setTopAnchor(mb, 20.0);
//分裂的按钮菜单
SplitMenuButton smb = new SplitMenuButton();
smb.setText("smb");
MenuItem item8 = new MenuItem("item8");
MenuItem item9 = new MenuItem("item9");
AnchorPane.setTopAnchor(smb, 60.0);
smb.getItems().addAll(item8, item9);
//右键触发菜单
ContextMenu cm = new ContextMenu();
MenuItem item10 = new MenuItem("item10");
MenuItem item11 = new MenuItem("item11");
cm.getItems().addAll(item10, item11);
//绑定到按钮
Button bt = new Button("右键点击出菜单");
AnchorPane.setTopAnchor(bt, 100.0);
bt.setContextMenu(cm);
an.getChildren().addAll(menuBar, mb, smb, bt);
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());
}
}