2016-04-05 3 views
0

У меня проблема с выходом консоли. Я искал один день, и я все еще не могу решить проблему. Я попытался добавить текст на JTextArea вручную, и он работает, поэтому gui должно быть в порядке. ЕСЛИ я сменил код на System.out.println(s), он успешно выполнит запись в консоли. Вот мой код:консольный выход на gui

public static void runSystemCommand(String command) { 

    String message=null; 
    int i=0; 
    while (i<1){ 

    try { 
        gui area=new gui(); 
        // ArrayList<String> sList = new ArrayList<String>(); 
        areaField=new JTextArea(); 
        sarray = new String [500]; 

     Process p = Runtime.getRuntime().exec(command); 
     BufferedReader inputStream = new BufferedReader(
       new InputStreamReader(p.getInputStream())); 
     String s = ""; 



     // reading output stream of the command 
     while ((s = inputStream.readLine()) != null) { 
          area.jTextArea.append(s+ "\n"); //this doesnt work.. 

     } 
        Thread.sleep(9000); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    i++; 
    } 
+1

В чем проблема? – Hackerdarshi

+1

, все, о чем вы упоминали, это то, что он работает успешно. так, в чем проблема? – Stultuske

+0

i can not see it on gui jTextArea – swipeales

ответ

0

Вы добавление к неправильным JTextArea. В вашем классе pingmain вы создаете новый экземпляр gui, который никогда не отображается для пользователя. В этом невидимом экземпляре вы правильно добавляете текст в текстовое поле. Если вы вместо этого добавили параметр gui area в свой метод runSystemCommand и дали this в качестве второго аргумента для вызова метода в gui, вы увидите свой результат в своем текстовом поле.

+0

Большое вам спасибо, мы пытались исправить эту проблему на века. – swipeales

+0

Добро пожаловать :-) – Vampire

1

В вашем коде у вас есть пустая строка String s = ""; попытаться присвоить некоторую строку s так:

String s = "some value"; 
    area.jTextArea.append(s+ "\n"); 
+0

не работает, я уже пробовал уже ^. Я положил весь код – swipeales

+0

@swipeales за хорошую практику положил их в начало класса // Объявление переменных - не изменять private javax.swing.JButton btnSubmit; частный javax.swing.JComboBox jCbx; частный javax.swing.JLabel jLabel1; частный javax.swing.JLabel jLabel2; частный javax.swing.JLabel jLabel3; частный javax.swing.JScrollPane jScrollPane1; public javax.swing.JTextArea jTextArea; – Abdelhak

+0

Да, его авто от netbeans – swipeales

Смежные вопросы