przekazanie wyniku ping do okienka

0

Witam, jak przekazać wynik polecenia ping do okienka w java ?

1

o coś tego typu Ci chodzi?

import java.io.IOException;
import java.io.InputStream;

/**
 * Created by Rafał on 17.12.2016.
 */
public class Main {

    public static void main(String[] args) throws IOException {
        Process proc = Runtime.getRuntime().exec("ping www.onet.pl");

        InputStream in;
        byte[] bufor = new byte[1024];
        while ((in = proc.getInputStream()).read(bufor) > 0) {

            for (int i = 0; i < 1024; i++) {
                System.out.print((char) bufor[i]);
            }
        }

        in.close();
    }
}




0

prawie:), chciałbym aby wyniki zapytań i pozostałe komunikaty wyświetliły się w okienku np. textArea po naciśnięciu buttona

0

no to już chyba nie jest problem? skoro się wyświetlają w konsoli to do wyświetlenia w textArea to pół kroku drogi.

0

mam coś takiego ale nie działa, sorry ale dopiero zaczynam programowanie w java i nie bardzo jeszcze orientuję się

import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import javax.swing.JTextArea;
public class NewJFrame extends javax.swing.JFrame {

public NewJFrame() {
    initComponents();
}


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jScrollPane1 = new javax.swing.JScrollPane();
    jTextArea1 = new javax.swing.JTextArea();
    jMenuBar1 = new javax.swing.JMenuBar();
    jMenu1 = new javax.swing.JMenu();
    jMenu2 = new javax.swing.JMenu();
    jMenu3 = new javax.swing.JMenu();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jTextArea1.setColumns(20);
    jTextArea1.setRows(5);
    jScrollPane1.setViewportView(jTextArea1);

    jMenu1.setText("File");
    jMenuBar1.add(jMenu1);

    jMenu2.setText("Edit");
    jMenuBar1.add(jMenu2);

    jMenu3.setText("Pomoc");
    jMenuBar1.add(jMenu3);

    setJMenuBar(jMenuBar1);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(160, 160, 160)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 438, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(171, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(98, 98, 98)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(106, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>                        


public static void main(String args[]) throws IOException {
    
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new NewJFrame().setVisible(true);
        }
    });
    
    
   Process proc = Runtime.getRuntime().exec("ping www.onet.pl");

    InputStream in;
    byte[] bufor = new byte[1024];
    while ((in = proc.getInputStream()).read(bufor) > 0) {

        for (int i = 0; i < 1024; i++) {
            System.out.print((char) bufor[i]);
        }
    }

    in.close(); 
    
    jTextArea1.setText(Arrays.toString(bufor));
    
    
}

// Variables declaration - do not modify                     
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
// End of variables declaration                   

}

1

a zamień mój kod tak aby dodawać tekst do textArea?

 for (int i = 0; i < 1024; i++) {
                System.out.print((char) bufor[i]);
            }

na

 for (int i = 0; i < 1024; i++) {
                jTextArea1.append((char) bufor[i] +  "");
            }

proponuję Ci poczytać o podstawach javy a nie od razu iść w GUI. No i jak nie masz narzuconego Swinga to polecam JavaFX.

0

nie idzie, jakiś błąd, ale nie wiem czy dobrze to zrobłem

1 użytkowników online, w tym zalogowanych: 0, gości: 1