在 Java 中使用它会将 Windows 资源管理器打开到 C 驱动器:
Desktop.getDesktop().open(new File("c:\\"));
但是,我还需要此处突出显示的“打开文件”功能:http: //i.imgur.com/XfgnozF.jpg
有没有办法在 Java 中实现这一点(使用 Windows 资源管理器,而不是 Swing 的 FileChooser)?
在 Java 中使用它会将 Windows 资源管理器打开到 C 驱动器:
Desktop.getDesktop().open(new File("c:\\"));
但是,我还需要此处突出显示的“打开文件”功能:http: //i.imgur.com/XfgnozF.jpg
有没有办法在 Java 中实现这一点(使用 Windows 资源管理器,而不是 Swing 的 FileChooser)?
在使用本机系统的外观和感觉的同时查看使用JFileChooser:
public class NativeOpenDialogDemo {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
final JFrame frame = new JFrame("Open File Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
JButton openButton = new JButton("Open");
openButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
if (chooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {
// do something
}
}
});
frame.add(openButton);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
}
}
我们可以使用 JFileChoose,
JFileChooser chooser = new JFileChooser();
int status = chooser.showOpenDialog(null);
if (status == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
if (file == null) {
return;
}
String fileName = chooser.getSelectedFile().getAbsolutePath();
......
}