2015-02-09 58 views
2

尋找獲取當前文件路徑,以便在下面的JFileChooser中的「Look In:」組合框中存在值更改時捕獲事件。我想從列表中選擇文件夾時觸發相同的事件,以便我可以不斷更新文件路徑。JFileChooser事件

JFileChooser http://i57.tinypic.com/a24spt.png

我不是在尋找的事件被按下取消按鈕的打開時!

任何想法?

回答

2

當您更改"Look in:"組合框中的文件夾時,只有一個PropertyChangeEvent被觸發,屬性名稱爲:JFileChooser.DIRECTORY_CHANGED_PROPERTY

你可以使用這個小代碼示例來測試什麼屬性更改事件在後臺被解僱時,你在JFileChooser按一下週圍:

JFileChooser fc = new JFileChooser(); 
fc.addPropertyChangeListener(new PropertyChangeListener() { 
    @Override 
    public void propertyChange(PropertyChangeEvent evt) { 
     System.out.println("Prop Change Event: " + evt.getPropertyName()); 
     if (JFileChooser.DIRECTORY_CHANGED_PROPERTY.equals(
        evt.getPropertyName())) { 
      // This is the event you're looking for 
     } 
    } 
}); 

不過要注意的是,在"Look in:"組合框中改變當前文件夾不是唯一一個產生PropertyChangeEvent的屬性名稱爲DIRECTORY_CHANGED_PROPERTY的事件,例如,如果您雙擊文件列表中的文件夾,同時也會生成此事件(其他事件如SELECTED_FILE_CHANGED_PROPERTY)。