Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javafx.application.Application;
- import javafx.beans.value.ChangeListener;
- import javafx.beans.value.ObservableValue;
- import javafx.scene.Scene;
- import javafx.scene.control.Label;
- import javafx.scene.control.Menu;
- import javafx.scene.control.MenuBar;
- import javafx.scene.control.MenuItem;
- import javafx.scene.control.Tab;
- import javafx.scene.control.TabPane;
- import javafx.scene.layout.BorderPane;
- import javafx.stage.Stage;
- /**
- *
- * To show the bug, switch from tab to tab.
- */
- public class TestCrashMac extends Application {
- MenuBar menuBar;
- TabPane tabPane;
- Menu menu1;
- MenuItem menu11;
- @Override
- public void start(Stage primaryStage) {
- menuBar = new MenuBar();
- menu1 = new Menu("test ");
- menu11 = new MenuItem("test");
- constructTabPane();
- BorderPane pane = new BorderPane();
- pane.setTop(menuBar);
- pane.setCenter(tabPane);
- Scene scene = new Scene(pane, 300, 250);
- tabPane.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
- @Override
- public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
- menuBar.getMenus().clear();
- menu1.getItems().clear();
- menu1.getItems().add(menu11);
- menuBar.getMenus().add(menu1);
- menu11.setVisible(false);
- menuBar.getMenus().clear();
- menu1.getItems().clear();
- menu1.getItems().add(menu11);
- menuBar.getMenus().add(menu1);
- }
- });
- menuBar.setUseSystemMenuBar(true);
- primaryStage.setTitle("Hello World!");
- primaryStage.setScene(scene);
- primaryStage.show();
- }
- private void constructTabPane() {
- tabPane = new TabPane();
- for (int j = 0; j < 2; ++j) {
- Tab tab = new Tab("tab " + j);
- BorderPane pane = new BorderPane();
- Label label = new Label("test");
- pane.setCenter(label);
- tab.setContent(pane);
- tabPane.getTabs().add(tab);
- }
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement