JavaFX Node soll auch nach Skalierung zentriert platziert sein

SchwarzWeiß

Bekanntes Mitglied
Hallo Leute,

wie der Titel schon sagt, versuche ich gerade, einen Node auch nach einer Skalierung zu zentrieren. Dieser wandert jedoch, je größer die Skalierung ist, immer weiter nach rechts unten. Hat jemand eine Idee, was ich falsch mache?
Hier ein Beispielcode, an dem man es gut sehen kann:
Java:
public class Main extends Application {

  public static void main(String[] args) {
    launch(args);
  }

  @Override
  public void start(Stage stage) throws Exception {

    Label label = new Label("Hallo");
    label.getTransforms().add(new Scale(15.50, 15.50));
    HBox hbox = new HBox();
    hbox.setStyle("-fx-background-color: orange;");
    hbox.getChildren().add(label);
    hbox.setAlignment(Pos.CENTER);
    StackPane root = new StackPane();
    root.getChildren().add(hbox);
    Scene scene = new Scene(root, 800, 600);
    stage.setScene(scene);
    stage.show();
  }
}
}

Schrift vergrößern ist für mein eigentliches Problem übrigens keine Option.
 
Ohne mir die Transform-API näher anzuschauen, würde ich einfach folgendes verwenden (denn dann klappts):
Java:
// label.getTransforms().add(new Scale(15.50, 15.50));
label.setScaleX(15.5);
label.setScaleY(15.5);
 
An deiner Stelle würde ich nicht das Label skalieren, sondern die Größe der Font.
Entweder mit
Java:
l.setFont(new Font(schriftgröße));
oder über CSS mit
l.setStyle("-fx-font-size: schriftgröße");
 
Ohne mir die Transform-API näher anzuschauen, würde ich einfach folgendes verwenden (denn dann klappts):
Java:
// label.getTransforms().add(new Scale(15.50, 15.50));
label.setScaleX(15.5);
label.setScaleY(15.5);
Danke, so funktioniert es.

@Tronert Wie schon im Eingangspost geschrieben, kann ich die Schriftgröße im eigentlichen Problem nicht ändern. Trotzdem danke 🙂
 

Zurück
Oben