我正在开发一个 Swing 应用程序,其中我正在使用 Runtime.getRuntime.execute(); 运行一个 cmd 命令;并使用 BufferReader 读取命令的输出。现在我想要的是在对话框中显示输出并更改其中的文本(使用 JTextPane)或在文本区域中附加字符串以及命令输出,就像我们在启动任何其他 IDE 的 Eclipse 以加载先决条件时看到的那样。
我尝试制作 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());
}
是否有可能做我想做的事,实现这一目标的最佳方法是什么?