Ich verwende bestimmte Ereignisse, um kleine Rechtecke auf einer HBox zu platzieren. Ihre Platzierung ist perfekt, wenn das Fenster nicht in der Größe geändert wurde, aber wenn Sie beispielsweise von klein auf Vollbild gehen, ist ihre Platzierung falsch (natürlich, weil sie zum Zeitpunkt der Platzierung einen bestimmten Wert für X erhalten) die Breite der HBox zu diesem bestimmten Zeitpunkt).Java Knoten dynamische Position auf HBox
Frage:
Wie kann ich diese Positionen dynamisch zu gestalten, so dass, wenn ich die Größe des Fensters, sie im Verhältnis bleiben?
Bilder:
Code:
@FXML HBox tagLine; // initializes the HBox
...
public void addTag(String sort) {
Rectangle rect = new Rectangle(20, tagLine.getHeight());
double pos = timeSlider.getValue()/100 * tagLine.getWidth(); // retrieves position at the moment of being called
rect.setTranslateX(pos);
rect.setOnMouseEntered(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
showNotification("Gemarkeerde gebeurtenis: " + sort);
}
});
rect.setOnMouseExited(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
notificationHide.play();
}
});
tagLine.getChildren().add(rect);
}
Wie positionieren Sie den rect in der HBox? Spanne? einen Knoten auf der linken Seite platzieren? 'translateX'? – fabian
Sie müssen uns etwas Code zeigen. Bearbeiten Sie einfach Ihre Frage und fügen Sie die Logik hinzu, die Sie derzeit zum Übersetzen des Rechtecks verwenden. – ItachiUchiha