簡體   English   中英

javafx 1.0 中的標簽以 ''..." 結尾

[英]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)...

您的問題的可能原因是用於設置LabeltextPropertyString長於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();
    }
}

結果:

截圖 1


確認label.setWrapText(true); 實際上有所不同,這是上面沒有該行的代碼的結果,並帶有您遇到的省略號(“...”):

截圖 2

暫無
暫無

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

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