あなたはこのようDesktop.getDesktop().open(new File(path));
を使用することができます:JFileChooser
を使用して、PDFファイルを開くには
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
openFile();
}
方法:我々は唯一の私たちの拡張子をフィルタリングするためにFileFilter
を使用
private void openFile() throws IOException, ClassNotFoundException {
FileFilter fJavaFilter = new FileFilter();
JFileChooser fc = new JFileChooser();
fc.setDialogTitle("Open your file");
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fc.setCurrentDirectory(new File("."));
fc.setFileFilter(fJavaFilter);
int result = fc.showOpenDialog(this);
if (result == JFileChooser.CANCEL_OPTION) {
//cancel action
} else if (result == JFileChooser.APPROVE_OPTION) {
//open file using
File selectedFile = fc.getSelectedFile();
String path = selectedFile.getAbsolutePath();
File myFile = new File(path);
Desktop.getDesktop().open(myFile);
}
}
EDIT
をフィルタを使用したくない場合は、この2行を次のようにコメントすることができます。
//FileFilter fJavaFilter = new FileFilter();
//....
//fc.setFileFilter(fJavaFilter);
あなたがあなたのプロジェクトにこのクラスを追加することができたり、同じクラスで使用可能なフィルタを使用する場合:
class FileFilter extends javax.swing.filechooser.FileFilter {
@Override
public boolean accept(File f) {
//your filter here
return f.getName().toLowerCase().endsWith(".pdf")
|| f.isDirectory();
}
@Override
public String getDescription() {
return "Select file (*.pdf)";
}
}
ファイルを開くための目的は何ですか?プログラムでプレビューするか、外部アプリケーションを起動して何かをしたいですか? –
私のプログラムでPDFファイルをプレビューしたいです。 –
しかし、1つの考え:私はこのプロジェクトが学習のためだけであることを願っています。現実の世界で使用されるようなシステムには本当に取り組んでいませんか? – GhostCat