[英]Label ends with ''..." in javafx 1.0
我將一個字符串放入變量中,並將其用作標簽中的文本。 這適用於較短的文本,但我的文本有幾句話長,所以它以...
結尾,而不是完成我的字符串。 我正在使用 JavaFX 1.0。 有誰知道我該如何解決這個問題?
編輯:這是我寫的代碼。 我將變量HandleidingDobbelsteen
放在另一個文件的一個階段中。
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.control.Label;
package var DobbelsteenHandleiding = Label {
text: "Hier komt te staan wat de uitkomst van de dobbelsteen betekent."
translateX: 830
translateY: 245
width: 140
textWrap: true;
}
package var HandleidingDobbelsteen = Group {
content:[
DobbelsteenHandleiding,
Rectangle {
x: 825, y: 220
width: 150, height: 120
fill: null
stroke: Color.BLACK
strokeWidth: 1.3
},
Rectangle {
x: 825, y: 220
width: 150, height: 20
fill: Color.BLACK
},
Text {
font : Font {size: 18}
x: 845, y: 235
content: "De regels"
fill: Color.WHITE
},
]
}
我將假設您的講師對您使用的 JavaFX 版本有誤。 如果它們是正確的,這些說明可能對您不起作用(因為我不熟悉蒸汽驅動的 Java)...
您的問題的可能原因是用於設置Label
的textProperty
的String
長於Label
能夠顯示的長度。 在沒有看到您的實際代碼的情況下,我有一些建議:
首先,確保您的Label
正在包裝其文本:
label.setWrapText(true);
其次,您應該確保Label
被包裝在一個布局容器中,該容器可以處理增長的節點(並非總是必要的,但建議這樣做)。 我的建議是VBox
:
VBox vBox = new VBox(label);
同樣,這里對您實際使用的 JavaFX 版本有一些假設,但您可以嘗試這個簡單的示例,看看它是否適合您:
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Test extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
// Simple interface
VBox vBox = new VBox(5);
vBox.setPadding(new Insets(10));
vBox.setAlignment(Pos.CENTER);
Label label = new Label();
// Let's add some very long text to our Label
label.setText("This is long text. It doesn't mean much because I am just writing things to make it long. Yes, I am that clever. Don't you just love this? Neither do I!");
// Make sure the Label is setup to wrap text when it reaches the end of its boundaries
label.setWrapText(true);
// Add the Label to our VBox
vBox.getChildren().add(label);
// Show the Stage
primaryStage.setWidth(300);
primaryStage.setHeight(300);
primaryStage.setScene(new Scene(vBox));
primaryStage.show();
}
}
結果:
確認label.setWrapText(true);
實際上有所不同,這是上面沒有該行的代碼的結果,並帶有您遇到的省略號(“...”):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.