JavaFx - 在alert dialg中包装内容文本

Оле*_*кин 5 java user-interface javafx

如何在警告对话框中设置wraptext选项?我试着这样做:

Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
alert.getButtonTypes().set(0, ButtonType.NO);
alert.getButtonTypes().set(1, ButtonType.YES);
alert.getDialogPane().getStylesheets().add("/styles/style.css");
alert.setGraphic(new ImageView(getIcon(icon)));
Label lb = (Label) alert.getDialogPane().getChildren().get(1);
lb.setWrapText(true); //Attempt to set wrapText option
alert.setTitle(title);
alert.setHeaderText(header);
alert.setContentText(content);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Edv*_*yse 10

改为创建一个新标签,并将其设置为DialogPane的内容:

Label label = new Label("Label with\nText that should be wrapped.");
label.setWrapText(true);
alert.getDialogPane().setContent(lb);
Run Code Online (Sandbox Code Playgroud)

请记住,WrapText只包装在行结束字符(\n)上,而不是自动包装.

如果要自动换行,请改用Text元素并设置WrappingWidth属性:

Text text = new Text("Very long text that should be wrapped in the dialog");
text.setWrappingWidth(100);
alert.getDialogPane().setContent(text);
Run Code Online (Sandbox Code Playgroud)