Witam serdecznie. Piszę projekt na studia i mam pewien problem, mianowicie mam metodę ping (znaleziona w internecie) i chce żeby wynik działanie pingu był zapisywany w logu okienkowym programu który napisałem a nie w kompilatorze. Widziałem kilka przykładów w internecie ale to było np obliczanie temperatury z Celsjusza na Farniente i tym podobne programy. Wiem że wszytko ma się mieścić w warunku if(zrodlo==btPing)
dopiero zapoznaję się z javą wiec proszę o wyrozumiałość. Używam kompilatora Eclipse. Poniżej podaje kod programu :
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Okienko extends JFrame implements ActionListener
{
static JPanel panel;
static JButton btPing, btWyjscie, btAutorzy;
static JLabel etyPing, etyLog;
static JTextField txAdresIp, txLog;
static String adresIP;
public Okienko()
{
//okienko
panel = new JPanel(); setSize(500,400); setTitle("okienko"); setContentPane(panel); setLayout(null);
//Sprawdzanie połączenia
etyPing = new JLabel("Sprawdź połączenie:"); etyPing.setBounds(10,10,130,20); panel.add(etyPing);
txAdresIp = new JTextField("Wpisz adres IP serwera"); txAdresIp.setBounds(135,10,200,20); panel.add(txAdresIp);
btPing = new JButton("Sprawdź"); btPing.setBounds(350,10,100,20); btPing.addActionListener(this); panel.add(btPing);
//przycisk wyjście
btWyjscie = new JButton("Wyjście"); btWyjscie.setBounds(390,350,100,20); btWyjscie.addActionListener(this); panel.add(btWyjscie);
//przycisk Autorzy
btAutorzy = new JButton("Autorzy"); btAutorzy.setBounds(290,350,100,20); btAutorzy.addActionListener(this); panel.add(btAutorzy);
//pole tekstowe z logami
etyLog = new JLabel("Logi programu: "); etyLog.setBounds(10,60,100,20);panel.add(etyLog);
txLog = new JTextField(""); txLog.setBounds(10,80,470,250); panel.add(txLog);
}
public static void Ping() //sprawdzanie połączenia przez ping'a
{
String ip = adresIP;
String pingResult = "";
String pingCmd = "ping " + ip;
try
{
Runtime r = Runtime.getRuntime();
Process p = r.exec(pingCmd);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
{
System.out.println(inputLine);
pingResult += inputLine;
}
in.close();
}
catch (IOException e)
{
System.out.println(e);
}
}
public static void Informacje()
{
JOptionPane.showMessageDialog(null, "Grzegorz III SSI \n Krosno 2012 \n Projekt na zalicznie przedmoitu");
}
public static void main(String[] args)
{
Okienko okno = new Okienko();
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
okno.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Object zrodlo = e.getSource();
if(zrodlo==btPing)
{
adresIP = txAdresIp.getText();
Ping();
}
else if (zrodlo==btAutorzy)
{
Informacje();
}
else if (JOptionPane.showConfirmDialog (btWyjscie, "Zakończyć apikację?",
"Zakończenie", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE)==0)System.exit(0);
}
}