在Java中使用此代码将打开Windows资源管理器并指向C盘:
Desktop.getDesktop().open(new File("c:\\"));
然而,我也需要突出显示此处的“打开文件”功能:http://i.imgur.com/XfgnozF.jpg
有没有一种方法可以在Java中实现这个(使用Windows Explorer,而不是Swing的FileChooser)?
在Java中使用此代码将打开Windows资源管理器并指向C盘:
Desktop.getDesktop().open(new File("c:\\"));
然而,我也需要突出显示此处的“打开文件”功能:http://i.imgur.com/XfgnozF.jpg
有没有一种方法可以在Java中实现这个(使用Windows Explorer,而不是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) {
ex.printStackTrace();
}
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);
}
});
}
}
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();
......
}
JFileChooser
有什么问题吗?你试过使用FileDialog
吗? - MadProgrammer