79 lines
2.2 KiB
Java
79 lines
2.2 KiB
Java
package com.jb;
|
|
|
|
import javafx.animation.ParallelTransition;
|
|
import javafx.animation.ScaleTransition;
|
|
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.scene.web.WebEngine;
|
|
import javafx.scene.web.WebView;
|
|
import javafx.stage.Stage;
|
|
import javafx.util.Duration;
|
|
|
|
public class BrowserTab1 extends StackPane{
|
|
|
|
private ToggleButton button;
|
|
private StackPane pane;
|
|
private Button closeBtn;
|
|
|
|
private WebView webView;
|
|
private WebEngine webEngine;
|
|
|
|
public BrowserTab1(){
|
|
button = new ToggleButton("Home");
|
|
pane = new StackPane();
|
|
closeBtn = new Button("");
|
|
|
|
webView = new WebView();
|
|
webEngine = webView.getEngine();
|
|
|
|
webEngine.load("https://google.com");
|
|
pane.getChildren().add(webView);
|
|
|
|
StackPane.setAlignment(button, Pos.TOP_LEFT);
|
|
StackPane.setAlignment(closeBtn, Pos.TOP_LEFT);
|
|
StackPane.setAlignment(pane, Pos.TOP_LEFT);
|
|
|
|
// button.setId("tab-button");
|
|
// closeBtn.setId("tab-close-button");
|
|
// pane.setId("tab-pane");
|
|
|
|
this.getChildren().add(button);
|
|
this.getChildren().add(closeBtn);
|
|
this.getChildren().add(pane);
|
|
|
|
button.setTranslateX((Main.getNoOfTabs()-1)*155 + 5);
|
|
closeBtn.setTranslateX(button.getTranslateX()+120);
|
|
|
|
button.setScaleX(0);
|
|
button.setTranslateX(button.getTranslateX() - 75);
|
|
|
|
TranslateTransition tt = new TranslateTransition(new Duration(250), button);
|
|
tt.setByX(75);
|
|
ScaleTransition st = new ScaleTransition(new Duration(250), button);
|
|
st.setByX(1);
|
|
ParallelTransition animate = new ParallelTransition(tt, st);
|
|
animate.play();
|
|
|
|
|
|
|
|
closeBtn.setOnAction(e -> {
|
|
if(Main.getNoOfTabs() == 1) ((Stage)this.getScene().getWindow()).close();
|
|
else{
|
|
((StackPane)this.getScene().getRoot()).getChildren().remove(Main.getNoOfTabs());
|
|
Main.setNoOfTabs(Main.getNoOfTabs()-1);
|
|
|
|
tt.setByX(-75);
|
|
st.setByX(-1);
|
|
animate.play();
|
|
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
|
|
}
|