【问题标题】:JavaFx - Wrap content text in alert dialgJavaFx - 在警报对话框中包装内容文本
【发布时间】:2016-06-12 02:47:06
【问题描述】:

如何在警告对话框中设置 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);

但它不起作用。

【问题讨论】:

    标签: java user-interface javafx


    【解决方案1】:

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

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

    请记住,WrapText 仅自动换行,而不是自动换行。

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

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

    【讨论】:

      【解决方案2】:

      我发现必须输入所有内容令人沮丧,并且使用 Text 不提供任何填充,所以我使用来自实用程序库的类似内容:

      public static Alert createAlert(Alert.AlertType type, String message) {
          Alert alert = new Alert(type);
      
          StringBuilder sb = new StringBuilder(message);
          for (int i = 0; i < message.length(); i += 200) {
              sb.insert(i, "\n");
          }
      
          Label t = new Label(sb.toString());
          alert.getDialogPane().setContent(t);
          return alert;
      }
      

      使用起来更合理:

      Alert alert = FxUtil.createAlert(Alert.AlertType.ERROR, ex.getMessage());
      alert.show();
      

      如果它自动做这样的事情会很好......切断这种性质的消息是没有用的:

      我收到一条错误消息。它说:“行号解析错误...”知道出了什么问题吗?

      【讨论】:

        猜你喜欢
        • 2015-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-15
        相关资源
        最近更新 更多