2012-02-21 11 views
44

JavaFXでは少し問題が発生しました。私はコードの代わりにファイルの代わりにフォルダを指すことができるコードを作成しようとしました。現在私はそれのための解決策を持っていません。回避策を知っていますか(スイングからJFileChooserを使用する点を除いて)?事前に答えをJavaFX FileChooser

感謝

編集:私はすでにそれをテストしようと、今、答えを得たが、私はJavaFXのバージョンを言及するのを忘れてしまいました。数日前にリリースされた最新の2.0.3です(ただし、ベータ版ではない2.0および2.0.1にもこの問題がありました)。

答えて

86

the 2.1 releaseの一部としてDirectoryFolderにDirectoryChooserが追加されました。 使い方は次のとおりです。

DirectoryChooser chooser = new DirectoryChooser(); 
chooser.setTitle("JavaFX Projects"); 
File defaultDirectory = new File("c:/dev/javafx"); 
chooser.setInitialDirectory(defaultDirectory); 
File selectedDirectory = chooser.showDialog(primaryStage); 

issue trackerは2.0GAリリースの回避策に言及:「プライベートのOracle APIグラス方式CommonDialogs.showFolderChooserにアクセスします」。 JFileChooserのは、フォルダや個々のファイルを選択するために使用されていたスイングとは異なり

+2

の一例です – XXL

+2

アカウントを登録するには、[JavaFX Jira tracker](http://javafx-jira.kenai.com/)のサインアップリンクをクリックします。オープンシステムなので、誰でもアカウントにサインアップできます。 – jewelsea

+1

ポリシーが数ヶ月前に変更され、JavaFX Jiraトラッカーはもはやオープンシステムではなくなりました。将来のバグレポートはhttp://bugreport.java.comに提出され、最終的にはいくつかのバージョンがhttps://bugs.openjdk.java.netに表示される可能性があります。 – jewelsea

2

は、JavaFXのでは、ディレクトリ

DirectoryChooser directoryChooser = new DirectoryChooser(); 
    directoryChooser.setTitle("Open Resource File"); 
    directoryChooser.getExtensionFilters().addAll(
    new ExtensionFilter("Text Files", "*.txt"), 
    new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"), 
    new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"), 
    new ExtensionFilter("All Files", "*.*")); 
    File selectedFile = directoryChooser.showDialog(mainStage); 
    if (selectedFile != null) { 
      mainStage.display(selectedFile); 
    } 

を選択するための個々のファイルやDirectoryChooserクラスを選択するために使用されるファイルチューザのクラスがあることの一例ですディレクトリチューザー。

FileChooser fileChooser = new FileChooser(); 
    fileChooser.setTitle("Open Folder"); 
    fileChooser.showDialog(stage); 

は「あなたがゲストとしてこのURLを表示することはできません。あなたは、ログインまたはアカウントにサインアップする必要があります。」ファイル選択

+0

面白いことがあります。答え(さもなければあなたは人々を混乱させます)。あなたの 'DirectoryChooser'の例では、' javafx.stage.DirectoryChooser'を使用していません。さらに、メソッド 'showOpenDialog'はありません。 –

+1

@mikerodentに感謝、私は間違いを訂正しました –

+0

実際に私はDirectoryChooserを見つけていない...とても感謝! –