晚上好! 所以我试图将正在运行的进程列表输出到 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();
}
这可以工作,但在显示几个进程后就会停止。 输出窗口如下所示:
注意:当您将 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/