1

こんにちは、Java プログラムを使用して Word ファイルを開こうとしています。プログラムで次のエラーが表示されます。」

Cannot make a static reference to the non-static method open(File) from the type Desktop

これを修正する方法がわかりません。手伝ってくれませんか。ありがとう。以下はコードのスニペットです。

@Override
public void actionPerformed(ActionEvent e) {
    List<File> files;
    File startingDirectory = new File("C:/Hello/");
    try {
        files = getFileListing(startingDirectory);
        for (File file : files){
            Desktop.open(file);
        }

    } catch (FileNotFoundException ex) {
        System.out.println("File Not Found");
}
4

2 に答える 2

1

試す

Desktop.getDesktop().open(file);

代わりは

Desktop.isDekstopSupportedまた、実行しようとしている機能が存在することを確認するためにチェックを行う必要があります

于 2012-08-12T23:42:29.593 に答える
1

Desktop次のように、最初にオブジェクトをインスタンス化する必要があります。

Desktop d = Desktop.getDesktop();

その後、次のように、デスクトップ オブジェクトでインスタンス メソッドを呼び出すことができます。

d.open(file);

あなたのコードでは、classでインスタンスメソッドを呼び出そうとしましたが、うまくいきません。クラスで呼び出すことができる唯一のメソッドは静的メソッドです。他のすべてのメソッドは、対応するクラスのインスタンスで呼び出す必要があります。open() Desktop

于 2012-08-12T23:42:59.857 に答える