我正在开发一个swing应用程序,我在其中使用Runtime.getRuntime.execute()运行cmd命令;并使用BufferReader读取命令输出。现在我想要的是在对话框中显示输出,更改其中的文本(使用JTextPane)或在textarea中附加字符串和输出命令,就像我们在启动任何其他IDE的Eclipse时可以看到的那样,用于加载先决条件。 / p>
我尝试创建JDialog类的子类,但它没有做我想要的。
我的代码:
Process p = Runtime.getRuntime().exec(commandToBeExecuted);
BufferedReader in = new BufferedReader(newInputStreamReader(p.getInputStream()));
String line = null;
MessageDialog myDialog=new MessageDialog(UserInterface.this);
while ((line = in.readLine()) != null) {
System.out.println(line);
myDialog.setText(line);
myDialog.setVisible(true);
myDialog.setLocationRelativeTo(UserInterface.this);
}
} catch (Exception ex) {
Logger.getLogger(UserInterface.class.getName()).log(Level.SEVERE, null, ex);
errorGlobal.setText("Some Exception Occured in update "+ex.getMessage());
System.out.println("Exception occured " + ex.getMessage());
}
是否可以做我想做的事情以及实现这一目标的最佳方式?
答案 0 :(得分:0)
你的问题在循环中。使用JTextArea.append并将其余部分放在循环之外,