Ich habe gerade erst begonnen, JavaFX zu lernen, und ich bin wirklich verwirrt über den Textknoten. Der Text, den ich gemacht habe, wird nicht in der Mitte ausgerichtet sein. Ich habe versucht, eine Pane, GridPane und jetzt eine VBox zu verwenden. Hat das etwas damit zu tun? -fx-text-alignment: center;
Aber das hat auch nicht funktioniert. Ich bin wirklich neu dazu. Vielen Dank für die Hilfe! Hier ist mein Code:Probleme beim Ausrichten von Text mit javaFX
package dev.angarc.game;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;
public class Game extends Application{
public static void main(String[] args){
launch(args);
}
@Override
public void start(Stage stage){
VBox vbox = new VBox();
// Component stuff
Text text = new Text("This Text Wont Align To The Center!");
text.setFont(Font.font("Arial", FontWeight.NORMAL, FontPosture.REGULAR, 20));
text.setTextAlignment(TextAlignment.CENTER);
// adding to the pane
vbox.getChildren().add(text);
// Stuff to set up the window.
stage.setScene(new Scene((vbox), 640, 430));
stage.setTitle("Text Game");
stage.setResizable(false);
stage.show();
}
}
aus dem [Text.setTextAlignment javadoc] (https://docs.oracle.com/javase/8/javafx/api/javafx/ verwenden scene/text/Text.html # setTextAlignment-javafx.scene.text.TextAlignment-): "Die Breite des Begrenzungsrahmens wird durch die breiteste Zeile definiert. Hinweis: Bei einer einzelnen Textzeile mit der Breite von der Knoten wird durch die Breite des Textes bestimmt, die Ausrichtung hat keine Auswirkung. " In der Antwort von Tomas erfahren Sie, wie Sie eine einzelne Textzeile in einem übergeordneten Layoutcontainer ausrichten können. – jewelsea