-1

このコードを作成したところ、次の 3 つのエラーが発生しました。添付の画像にあるこれらのエラーを回避するには、助けが必要です。システムコマンドを含める方法に関する情報があまりないため、発生している3つのエラーは消えません。

import java.applet.*;
import java.awt.event.*;
import java.awt.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class EventListeners extends Applet 
implements ActionListener{
public void init(){
Button b = new Button("Ping");
b.addActionListener(this);
add(b);
}
public void actionPerformed(ActionEvent e){
runSystemCommand(String command)
{try {
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) {
System.out.println(s);
}}
catch (Exception e) {
e.printStackTrace();
}}

public static void main(String[] args) {

String ip = "google.com";
runSystemCommand("ping " + ip); 





}  
}
![Errors][1]
4

1 に答える 1

1

メソッド内に関数を記述しようとしているようです。これはJavaでは違法です

メソッドをメソッドrunSystemCommandの外に配置するactionPerformed

public void actionPerformed(ActionEvent e) {
     // Call runSystemCommand(...);
}

public void runSystemCommand(String command) {
    try {
        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) {
            System.out.println(s);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

いくつかの注意事項...

アプレットは、厳重なセキュリティ サンドボックスで実行されます。システムコマンドを実行することはできません。たとえそうであっても、Windows ではなく Linux または Mac ボックスで実行している可能性があります。

GUI プログラムから始めたい場合は、 のようなものから始めてくださいJFrame

また、適切なIDEを手に入れることをお勧めします

于 2013-07-04T06:35:48.323 に答える