如何打印到JAVAFX gui就像打印到控制台一样

时间:2016-11-26 16:01:16

标签: java loops user-interface javafx printing

尝试将数据打印到javafx制作的gui中。

...
for(Entry<Date, String> entry : tmap.entrySet()) {
    Date key = entry.getKey();
    String value = entry.getValue();

    System.out.println(key + " => " + value);

我不想使用setText(),因为它不会像在控制台中一样,它会清除TreeMap

的每个循环中只有一个文本

1 个答案:

答案 0 :(得分:0)

执行此操作的唯一方法是将原始文本与新内容连接,并使用String设置生成的setText

在您的情况下,您可以使用StringBuilder

来提高执行此操作的效率
StringBuilder sb = new StringBuilder(textNode.getText());

for(Entry<Date, String> entry : tmap.entrySet()) {
    Date key = entry.getKey();
    String value = entry.getValue();

    sb.append(key).append(" => ").append(value).append('\n');
    ...
}
textNode.setText(sb.toString());

如果您使用的是TextInputControlappendText可能值得一看,但如果您知道自己要添加多个StringStringBuilder是可能更有效率。

for(Entry<Date, String> entry : tmap.entrySet()) {
    Date key = entry.getKey();
    String value = entry.getValue();

    textNode.appendText(key + " => " + value + '\n');
    ...
}