JavaFX 8 - 如何在几行控件中换行新行中的文本?

时间:2014-09-17 08:34:20

标签: user-interface checkbox textfield javafx-8 textwrapping

我想在一些控件中将文本换行换行。 例如,当没有足够的空间来显示复选框的整个文本时,应该有一个新行。我不想要这些点(" ......")。 我想在TableCell(不可编辑)和TextField或TextArea中使用相同的行为。

我测试了.setWrapText(true),但这没有帮助...

有人可以帮帮我吗?

祝你好运

1 个答案:

答案 0 :(得分:1)

看起来它取决于您使用的布局。

例如,这段代码包装CheckBox文本没问题:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class CheckBoxTest extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        BorderPane pane = new BorderPane();
        Scene scene = new Scene(pane, 300, 200);
        stage.setScene(scene);

        CheckBox checkBox = new CheckBox("This is a really really really really really really really really long string");
        checkBox.setWrapText(true);
        pane.setCenter(checkBox);

        stage.show();
    }

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

但是,如果我要将BorderPane更改为FlowPane,则包装不起作用。