2017-04-18 122 views
-1

這是我的問題:我正在開發一個javaFX應用程序,我有一個MenuBar 2菜單。 每個菜單都有自己的MenuItems來顯示,但這些只是顯示片刻,恰好當我點擊他們所屬的菜單時。 這樣,我無法點擊MenuItems,因爲它們消耗得太快。如何讓menuItem在javaFX中單擊菜單後保持可見狀態?

如何讓這些MenuItems不僅在單擊菜單時保持可見狀態,而且只要不在窗口中的其他位置點擊?

THX提前

+0

嘗試鼠標移到菜單項? – Sedrick

+0

MenuItems消失太快,只要我釋放鼠標點擊菜單的名稱 – sibly22

回答

0

嘗試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); 
    } 

} 
+0

不幸的是,這似乎並不工作.. – sibly22

+0

我測試它,它工作正常。 – Sedrick

+0

您可能還有其他一些問題。發佈可重現您問題的最小且完整的代碼。 – Sedrick

相關問題