2012-08-12 121 views
1

嗨我试图用java程序打开word文件。该计划给了我下面的错误”在Java中使用默认程序打开文件的问题

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"); 
} 

回答

1

尝试

Desktop.getDesktop().open(file); 

改为

您还应该检查Desktop.isDekstopSupported以确保功能ITY要尝试执行存在

+0

它工作。感谢束 – Pavel 2012-08-12 23:44:21

+0

很高兴有一个简单的问题,以改变;)很高兴成为协助 – MadProgrammer 2012-08-12 23:47:05

1

您需要首先实例化一个Desktop对象,像这样:

Desktop d = Desktop.getDesktop(); 

,你可以调用桌面对象的实例方法,这样以后:

d.open(file); 

在代码中,你试图调用实例上方法open()Desktop,这将无法正常工作。唯一可以在类中调用的方法是static方法,所有其他方法需要在相应类的实例上调用。

相关问题