With this code I add a circle with an "x" to perform remove pane in a SplitPane, and add a circle with a "-" to perform a different divider position.
What I should get is one "x" and one "-", while now I have two "x" and two "-" overlap.
class CustomTools extends Group {
public CustomTools() {
final Circle closeButton = CircleBuilder.create()
.centerX(5)
.centerY(0)
.radius(8)
.fill(Color.TRANSPARENT)
.build();
final Text closeText = new Text(1, 3, "x");
closeText.setFont(Font.font("Comic Sans MS", 12));
final Circle minimizeButton = CircleBuilder.create()
.centerX(5)
.centerY(0)
.radius(8)
.fill(Color.TRANSPARENT)
.build();
final Text minimizeText = new Text(1, 3, "-");
minimizeText.setFont(Font.font("Comic Sans MS", 12));
closeButton.setOnMouseEntered(new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent me){
closeButton.setFill(Color.RED);
closeButton.setOpacity(0.50);
closeText.setFill(Color.WHITE);
}
});
closeButton.setOnMouseExited(new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent me){
closeButton.setFill(Color.TRANSPARENT);
closeText.setFill(Color.BLACK);
}
});
minimizeButton.setOnMouseEntered(new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent me){
minimizeButton.setFill(Color.RED);
minimizeButton.setOpacity(0.50);
minimizeText.setFill(Color.WHITE);
}
});
minimizeButton.setOnMouseExited(new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent me){
minimizeButton.setFill(Color.TRANSPARENT);
minimizeText.setFill(Color.BLACK);
}
});
getChildren().addAll(minimizeButton, minimizeText, closeButton, closeText);
}
}
for (int i = 0; i < taToolsList.size(); i++) {
ind = taToolsList.get(i);
if (ind.getChart().chrt != null) {
chrt = ind.getChart().chrt;
final CustomPane testPane = new CustomPane();
final SplitPane slp = chrt.getIntWindSplitPane();
Label indicatorLabel = new Label("Indicator");
indicatorLabel.setLayoutX(10);
indicatorLabel.setLayoutY(8);
indicatorLabel.setFont(Font.font("Verdana", 11));
indicatorLabel.setTextFill(Color.BLACK);
indicatorLabel.setOpacity(0.8);
CustomTools ce = new CustomTools();
ce.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
slp.getItems().remove(testPane);
}
});
CustomTools cm = new CustomTools();
cm.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
slp.setDividerPosition(0, 0.90);
}
});
testPane.getChildren().addAll(ce, cm, indicatorLabel);
ce.translateXProperty().bind(testPane.widthProperty().subtract(15));
ce.setTranslateY(10);
cm.translateXProperty().bind(testPane.widthProperty().subtract(30));
cm.setTranslateY(10);
slp.setDividerPosition(0, 0.70);
slp.getItems().add(testPane);
}
}