簡體   English   中英

文本對齊在TextFlow上不起作用

[英]Alignment of Text not working on TextFlow

我是javafx的新手。

我試圖在聊天面板顯示消息的地方建立一個Messenger。 我想對齊郵件,例如我自己的郵件在左側,其他郵件在右側。

為了顯示消息,我在添加Text的地方使用了TextFlow。 但是對齊方式不起作用。

TextFLow tf=new TextFlow();
Text t1= new Text("Hi");
Text t2= new Text("Hello");
t1.setTextAlignment(TextAlignment.RIGHT);
t2.setTextAlignment(TextAlignment.LEFT);
tf.getChildren().addAll(t1,t2);

但是對齊方式不起作用。 兩個文本都在左側。 我該怎么辦?

您可以從TextFlow設置TextAlignement,但是, 我認為我們不能在同一容器中進行兩次對齊,但是,您可以使用棘手的方法通過使用Labels和VBox來解決此問題:

private VBox Chat(){

    VBox chat = new VBox();
    chat.setPrefSize(400, 400);
    chat.setStyle("-fx-background-color:#333333;");

    Label txt1 = new Label("Text1");
    txt1.setTextFill(Color.WHITE); 
    txt1.setPrefWidth(400); 
    txt1.setAlignment(Pos.CENTER_LEFT);

    Label txt2 = new Label("Text2");
    txt2.setTextFill(Color.WHITE); 
    txt2.setPrefWidth(400); 
    txt2.setAlignment(Pos.CENTER_RIGHT);  

    chat.getChildren().addAll(txt1,txt2);

    return chat;
}

為什么貼標簽 該節點與“文本”節點的工作方式相同,但是優點是,濕可以調整背景的大小。

為什么選擇VBox 是可選的,即使我認為TextFlow更適合於文本節點。 它也用於定位,VBox更適合從頂部到底部聊天面板的分類項目。 祝好運 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM