2011-08-17 10 views
5

JFileChooserを使用して、マウスでディレクトリをダブルクリックしてディレクトリを選択できます。マウスなしでディレクトリを選択する方法はありますか?たとえば、ディレクトリ・レベルを下ろすためのキー・バインディングがあるか、何らかの形でJFileChooserにキー・リスナーを追加する必要がありますか?マウスなしでJFileChooserディレクトリを展開する方法はありますか?

+0

私は利点がどうなるかわからないんだけど? Webstartアプリケーション[ここ](http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html)を起動すると、ディレクトリ/ファイルを持つペインに移動することができます"タブ"をクリックし、 "矢印"を使用してディレクトリ/ファイルをナビゲートし、 "enter"を押してレベルを下げます。 – mre

答えて

1

スペースバーを入力しようとしましたか?

2

タブを使用してチューザのさまざまな部分を移動し、矢印キーを使用して強調表示されているディレクトリを変更し、Enterキーを押して強調表示されたディレクトリに変更する必要があります。

私は私のマシン(Vistaの/ JDK 1.6)で、次の例のコードをテストしていると私は期待通りに動作します:

import javax.swing.*; 
public class test { 
    public static void main(String[] args) { 
     (new JFileChooser("")).showOpenDialog(new JFrame()); 
     System.out.println("OK!"); 
    } 
} 

プロジェクトは、あなたのJFileChooserの中similiarly応答していない場合、私のようにデバッグするだろう

  1. チューザをポップアップするために必要なコードだけを使用してtest.javaを作成します。
  2. テストアプリがアプリ内とは異なる場合は、UIスキニングコードやキーボードリスナーなど、コード内の何かが失敗する原因となります。この例を変更して、一度に1つずつ変更して、あなたのアプリで選択して、どこで壊れているのかを特定できるかどうかを確認します。
  3. 基本的なテストアプリケーションでもうまく動作しない場合は、JDKバージョンやOSなどのバグなど、おそらく設定に関するものです。セットアップのトラブルシューティングを行います。
+0

私はスペースバーとEnterキーの両方を試しましたが、どちらもうまくいきませんでした。しかし、それは入力/スペースバーで動作するはずであることを知るのに役立ちます。なぜ今は動作しないのかを知ることに集中することができるからです。 – splatek

+0

どのJavaのバージョンを使用していますか?最近ですか?いくつかの古いバージョンでは、jfilechooser UIにバグがあります(例:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4922507参照)。私はよりよく説明するために私の答えを編集します。 –

+0

私はcom.incors.plaf.alloy.AlloyLookAndFeelを使用しています。 com.sun.java.swing.plaf.windows.WindowsLookAndFeelに変更すると動作します。私はAlloyLookAndFeelがjFileChooserの問題を抱えていると思います。 – splatek

0

ディレクトリを選択するには、ctrl + enterキーを使用してみてください。あなたはJFileChooserのファイル選択モードに設定するとき この動作が起こっていると、「ファイルとdirecories」:

JFileChooser fileBrowser = new JFileChooser(); 
fileBrowser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
関連する問題