如何使用JFileChooser加载文件?

Sam*_*Sam 3 java swing jfilechooser

在Java中,我想使用来以其自己的格式加载文件(无论格式如何)JFileChooser。表示我不想阅读和显示我的内部内容JFrame。相反,我希望它们像单击Windows Photo Viewer / Irfan Viewer中打开的图像和Adobe Reader中通过单击按钮打开的PDF一样打开/加载。

我搜了很多。但是,我阅读的所有教程都讲述了如何通过单击来打印“打开此文件/已选择此文件”行JButton。实际上,没有人在单击按钮时打开/加载文件。可能是因为我是Java新手,所以我没有正确理解他们所说的话。希望我的问题很清楚,请帮忙...

这是我从教程页面获得的代码:

 public class JFileChooserTest {

    public static void main(String[] args) {
        JFrame.setDefaultLookAndFeelDecorated(true);
        JDialog.setDefaultLookAndFeelDecorated(true);
        JFrame frame = new JFrame("JComboBox Test");
        frame.setLayout(new FlowLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JButton button = new JButton("Select File");
        button.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            JFileChooser fileChooser = new JFileChooser();
            int returnValue = fileChooser.showOpenDialog(null);
            if (returnValue == JFileChooser.APPROVE_OPTION) {
              File selectedFile = fileChooser.getSelectedFile();
              System.out.println(selectedFile.getName());
            }
          }
        });
        frame.add(button);
        frame.pack();
        frame.setVisible(true);
    }    
}
Run Code Online (Sandbox Code Playgroud)

这是我要使用Java进行的操作。这是Windows的示例:

单击浏览按钮可打开此窗口

当我选择XLS文件并单击OPEN按钮时,XLS文件将打开。我想用Java做完全一样的事情。希望现在更加清楚。

小智 5

您可以尝试使用Desktop.open()

Desktop.getDesktop().open(selectedFile);
Run Code Online (Sandbox Code Playgroud)

编辑 您需要在这里更新:

button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent ae) {
      JFileChooser fileChooser = new JFileChooser();
      int returnValue = fileChooser.showOpenDialog(null);
      if (returnValue == JFileChooser.APPROVE_OPTION) {
        File selectedFile = fileChooser.getSelectedFile();
        java.awt.Desktop.getDesktop().open(selectedFile);//<-- here
      }
   }
});
Run Code Online (Sandbox Code Playgroud)

来自站点的示例代码: