在秋千中改变文本的对话框

时间:2013-07-21 08:22:08

标签: java swing process runtime.exec swingworker

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

是否可以做我想做的事情以及实现这一目标的最佳方式?

1 个答案:

答案 0 :(得分:0)

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