Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.34 KB | None | 0 0
  1. import javafx.application.Application;
  2. import javafx.beans.value.ChangeListener;
  3. import javafx.beans.value.ObservableValue;
  4. import javafx.scene.Scene;
  5. import javafx.scene.control.Label;
  6. import javafx.scene.control.Menu;
  7. import javafx.scene.control.MenuBar;
  8. import javafx.scene.control.MenuItem;
  9. import javafx.scene.control.Tab;
  10. import javafx.scene.control.TabPane;
  11. import javafx.scene.layout.BorderPane;
  12. import javafx.stage.Stage;
  13.  
  14. /**
  15.  *
  16.  * To show the bug, switch from tab to tab.
  17.  */
  18. public class TestCrashMac extends Application {
  19.  
  20.     MenuBar menuBar;
  21.     TabPane tabPane;
  22.  
  23.     Menu menu1;
  24.     MenuItem menu11;
  25.  
  26.     @Override
  27.     public void start(Stage primaryStage) {
  28.  
  29.         menuBar = new MenuBar();
  30.  
  31.         menu1 = new Menu("test ");
  32.         menu11 = new MenuItem("test");
  33.  
  34.         constructTabPane();
  35.         BorderPane pane = new BorderPane();
  36.         pane.setTop(menuBar);
  37.         pane.setCenter(tabPane);
  38.         Scene scene = new Scene(pane, 300, 250);
  39.         tabPane.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
  40.  
  41.             @Override
  42.             public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
  43.                 menuBar.getMenus().clear();
  44.                 menu1.getItems().clear();
  45.                 menu1.getItems().add(menu11);
  46.                 menuBar.getMenus().add(menu1);
  47.  
  48.                 menu11.setVisible(false);
  49.  
  50.                 menuBar.getMenus().clear();
  51.                 menu1.getItems().clear();
  52.                 menu1.getItems().add(menu11);
  53.                 menuBar.getMenus().add(menu1);
  54.             }
  55.         });
  56.  
  57.         menuBar.setUseSystemMenuBar(true);
  58.  
  59.         primaryStage.setTitle("Hello World!");
  60.         primaryStage.setScene(scene);
  61.         primaryStage.show();
  62.     }
  63.  
  64.     private void constructTabPane() {
  65.         tabPane = new TabPane();
  66.         for (int j = 0; j < 2; ++j) {
  67.             Tab tab = new Tab("tab " + j);
  68.             BorderPane pane = new BorderPane();
  69.             Label label = new Label("test");
  70.             pane.setCenter(label);
  71.             tab.setContent(pane);
  72.             tabPane.getTabs().add(tab);
  73.         }
  74.  
  75.     }
  76.  
  77.     /**
  78.      * @param args the command line arguments
  79.      */
  80.     public static void main(String[] args) {
  81.         launch(args);
  82.     }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement