這是我的問題:我正在開發一個javaFX應用程序,我有一個MenuBar 2菜單。 每個菜單都有自己的MenuItems來顯示,但這些只是顯示片刻,恰好當我點擊他們所屬的菜單時。 這樣,我無法點擊MenuItems,因爲它們消耗得太快。如何讓menuItem在javaFX中單擊菜單後保持可見狀態?
如何讓這些MenuItems不僅在單擊菜單時保持可見狀態,而且只要不在窗口中的其他位置點擊?
THX提前
這是我的問題:我正在開發一個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