如何解决Java 将无限的文本行写入 UI
我有一个程序可以将程序中生成的文本写入 UI。我试过 JTextArea 并成功输出了等于对象中行数的行数(当前设置为 10 行)。但是,在我的程序中,可能会生成数百行需要发送到 UI 的行,并且第 10 行之后的每一行都没有写入(至少我在 UI 中可以看到的地方)。不必连续显示每一行,可以显示最近的N行。
下面是用于创建名为 programOutputText 的文本区域并添加到框架中的代码。
programOutputText = new JTextArea();
programOutputText.setRows(10);
programOutputText.setColumns(135);
add(programOutputText);
下面是每次写新行时执行的代码。
programOutputText.append("constant string " + programGeneratedString + "\n");
programOutputText.selectAll();
programOutputText.paintImmediately(programOutputText.getVisibleRect());
这同样适用于前 10 次写入(行 = 10),但之后不起作用。如果我能找到一种方法来手动控制通过手动向下移动行来为(并插入)最新/最新行腾出空间来手动控制写入的最新行,那是可以接受的。
我也尝试将 JTextArea 嵌入到 JScrollPane 中,但结果完全相同。
我不认同使用 JTextArea 的想法,但如果我能弄清楚如何使用它来满足我的要求,那似乎是最合适的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。