如何让menuItem在javaFX中单击菜单后保持可见状态?
问题描述:
这是我的问题:我正在开发一个javaFX应用程序,我有一个MenuBar 2菜单。 每个菜单都有自己的MenuItems来显示,但这些只是显示片刻,恰好当我点击他们所属的菜单时。 这样,我无法点击MenuItems,因为它们消耗得太快。如何让menuItem在javaFX中单击菜单后保持可见状态?
如何让这些MenuItems不仅在单击菜单时保持可见状态,而且只要不在窗口中的其他位置点击?
THX提前
答
尝试CustomMenuItem并设置setHideOnClick为false:
public class JavaFXApplication84 extends Application
{
@Override
public void start(Stage primaryStage)
{
MenuItem menuItem1 = new MenuItem("Open");
CustomMenuItem customMenuItem = new CustomMenuItem(new Label("Close"));
customMenuItem.setHideOnClick(false);
customMenuItem.setOnAction(event -> System.out.println("You clicked me!"));
Menu menu1 = new Menu("File");
menu1.getItems().addAll(menuItem1, customMenuItem);
Menu menu2 = new Menu("Options");
Menu menu3 = new Menu("Help");
MenuBar menuBar = new MenuBar();
menuBar.getMenus().addAll(menu1, menu2, menu3);
StackPane root = new StackPane();
root.getChildren().add(menuBar);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
launch(args);
}
}
尝试鼠标移到菜单项? – Sedrick
MenuItems消失太快,只要我释放鼠标点击菜单的名称 – sibly22