Witam, jak przekazać wynik polecenia ping do okienka w java ?
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();
}
}
prawie:), chciałbym aby wyniki zapytań i pozostałe komunikaty wyświetliły się w okienku np. textArea po naciśnięciu buttona
no to już chyba nie jest problem? skoro się wyświetlają w konsoli to do wyświetlenia w textArea to pół kroku drogi.
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
}
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.
nie idzie, jakiś błąd, ale nie wiem czy dobrze to zrobłem