2
У меня есть этот базовый пример вкладок JavaFX с меню правой кнопки мыши.Сделать закрывающий вклад
// Right-click mouse button menu
final ContextMenu contextMenu = new ContextMenu();
MenuItem item2 = new MenuItem("Close Tab");
item2.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent e)
{
System.out.println("Close Tab");
}
});
contextMenu.getItems().addAll(item2);
// Tabs
VBox stackedTitledPanes = createStackedTitledPanes();
ScrollPane scroll = makeScrollable(stackedTitledPanes);
TabPane tabPane = new TabPane();
BorderPane mainPane = new BorderPane();
// Create Tabs
Tab tabA = new Tab();
tabA.setText("Main Component");
tabA.setClosable(false);
tabA.setContextMenu(contextMenu); // Right-click mouse button menu
// Add something in Tab
StackPane tabA_stack = new StackPane();
tabA_stack.setAlignment(Pos.CENTER);
tabA_stack.getChildren().add(new Label("[email protected] A"));
tabA.setContent(tabA_stack);
tabPane.getTabs().add(tabA);
Tab tabB = new Tab();
tabB.setText("Second Component");
tabB.setClosable(false);
// Add something in Tab
StackPane tabB_stack = new StackPane();
tabB_stack.setAlignment(Pos.CENTER);
tabB_stack.getChildren().add(new Label("[email protected] B"));
tabB.setContent(tabB_stack);
tabPane.getTabs().add(tabB);
Tab tabC = new Tab();
tabC.setText("Last Component");
tabC.setClosable(false);
// Add something in Tab
StackPane tabC_vBox = new StackPane();
tabC_vBox.setAlignment(Pos.CENTER);
tabC_vBox.getChildren().add(new Label("[email protected] C"));
tabC.setContent(tabC_vBox);
tabPane.getTabs().add(tabC);
mainPane.setRight(tabPane);
mainPane.setPrefSize(300, 500);
mainPane.setLayoutY(32);
scroll.setPrefSize(395, 580);
Я хочу, чтобы, когда я щелкните правой кнопкой мыши на имени вкладки, чтобы выбрать опцию close
. Когда я выбираю close
Я хочу удалить выбранную вкладку из панели вкладок. Как мне изменить код, чтобы получить эту функциональность.