java - 在javafx中可变地设置Dialog的ContentText

标签 java javafx arraylist dialog

为了让用户确认某些更改,我希望弹出一个确认对话框,询问是否应删除所选对象。这当然是可变的。 确认对话框中的文本应如下所示:

Are you sure you want to delete   
Sample 1 from class 2  
Sample 3 from class 1  
Sample... and so on  
?

我有一个对象的ArrayList,其中存储了有关样本名称和类的信息。 到目前为止我得到的是:

ObservableList<Samples> samples = table.getSelectionModel().getSelectedItems();
Alert info = new Alert(Alert.AlertType.CONFIRMATION);
info.setHeaderText("Confirm deletion");

if (samples.size() > 1) {
    List<String> strings= new ArrayList<>();
    samples.forEach(e ->
          strings.add(e.getSample().getSampleNr() +
                  " of class " +
                   e.getSample().getClass() +"\n")
            );
info.setContentText("Are you sure you want to delete \n" +
                    stridon't+ "?"
);

我不知道,也许我的思维被封锁了,但我无法让它很好地工作。 它显示如下:

Are you sure you want to delete  
[Sample 1 of class 3  
, Sample 3 of class 1  
, ..and so on  
]?

有谁知道如何摆脱 [,] 符号或者更好的方法吗? 先感谢您!

最佳答案

您可以使用的一件事是 String.join() .

String.join("delimiterHere", listHere); 


info.setContentText("Are you sure you want to delete \n" + String.join("\n", strings) + "?");

关于java - 在javafx中可变地设置Dialog的ContentText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52855192/

相关文章:

JavaFX 不同类型列表的bindContent双向

java - 无法从 Tomcat 连接到 HBase

java - 如何在 javafx 中创建一个弹出窗口

java - 从 Glassfish 服务器上的 FoxPro 数据更新 sql 数据库

java - 如何将动态 JVM 命令行标志传递给独立的 JavaFX 应用程序?

java - 一个方法使用数组并返回一个数组,但我使用的是数组列表

Java ArrayList 字符串长度打印

java - 我的功能有逻辑错误吗?

java - 如何搜索对象中的数据并转换为列表

Android - 通过其 ID 从 arraylist 中删除一个项目