0

我正在开发一个 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());
        }   

是否有可能做我想做的事,实现这一目标的最佳方法是什么?

4

1 回答 1

0

你的问题在循环中。使用 JTextArea.append 并将其余部分放在循环之外,

于 2013-07-21T08:23:34.953 回答