package com.jb; import javafx.animation.ParallelTransition; import javafx.animation.TranslateTransition; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.ToggleButton; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.util.Duration; public class TabButton extends StackPane{ private ToggleButton toggleButton; private Button closeBtn; @SuppressWarnings("unused") private BrowserTab tab; public TabButton(BrowserTab tab){ toggleButton = new ToggleButton("Home"); closeBtn = new Button(""); this.tab = tab; this.setId("tab-button-container"); toggleButton.setId("tab-button"); closeBtn.setId("tab-close-button"); toggleButton.setSelected(true); toggleButton.setToggleGroup(Main.getToggleGroup()); closeBtn.setTranslateX(120); StackPane.setAlignment(toggleButton, Pos.TOP_LEFT); StackPane.setAlignment(closeBtn, Pos.TOP_LEFT); this.getChildren().addAll(toggleButton, closeBtn); toggleButton.setOnAction(e -> { if(!toggleButton.isSelected()) toggleButton.setSelected(true); tab.bringToFront(); }); closeBtn.setOnAction(e -> { if(Main.getNoOfTabs() == 1) ((Stage)this.getScene().getWindow()).close(); else{ ((StackPane)(this.getScene().getRoot())).getChildren().removeAll(tab.getTabButton(), tab.getStackPane()); int index = Main.getTabs().indexOf(tab); tab.shrink(); Main.getTabs().remove(tab); if(index { // index.incrementAndGet(); // if(index.get()