java - JTextArea 不显示输出到它的每一行

标签 java eclipse swing jscrollpane jtextarea

晚上好! 所以我试图将正在运行的进程列表输出到 JTextArea。 附加任务列表的代码是:

try {
        String line;
        Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
        BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
        while ((line = input.readLine()) != null) {
            System.out.println(line);
            area.append(line);
            area.append("\n");
        }
        input.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

这可以工作,但在显示几个进程后就会停止。 输出窗口如下所示: jtextarea appending tasklist

注意:当您将 try catch 输出到控制台时,它会显示所有进程。那么可能出了什么问题呢? (我显然在这里错过了一些非常愚蠢的东西) 提前谢谢大家!

最佳答案

您的情况的问题是它没有在 JTextArea 中提供水平或垂直侧滚动。因此,您的输出无法处理应正确显示的额外输出。

有趣的是,按照您的 setBounds() 方法,我的 JTextArea 返回完美的输出 --- 与控制台中显示的输出类似!!!而且,这对您的输出来说没有任何问题!问题似乎仅与代码中不存在的卷轴有关!

试试这个,希望它有帮助:-

scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setBounds(5,25,972,500);
scrollPane.add(textarea);
scrollPane.setViewportView(textarea);

如果没有帮助,请评论。希望它能解决您的问题。

最美好的祝愿...

关于java - JTextArea 不显示输出到它的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24838585/

相关文章:

java - Swing 动画运行速度极慢

Java - 初始化数组后和使用类方法测试数组时出现 NullPointerException

java - 我在同一页面中有两个 Wicket 口反馈面板,并且都响应相同的错误消息

java - 在左对齐的 JTabbedPane 上强制水平制表 rune 本

java - 使用 JFrame 和 JPanel 的简单 Java 动画

java - 为什么 java.net.UnknownHostException 需要更改主机文件?

eclipse - 替换产品 ico 文件时 Tycho 出错

python - 配置两个远程系统之间的路径映射以使断点在 PyDev 中起作用

java - "__JVM_DefineClass__"作为类加载器位置意味着什么?

java - 我们可以在 SWING 代码中使用 JAVAFX 代码吗?