package org.hyperdata.scute.filemanager;
import java.io.File;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
/**
* The listener interface for receiving tree events. The class that is
* interested in processing a tree event implements this interface, and the
* object created with that class is registered with a component using the
* component's <code>addTreeListener<code> method. When
* the tree event occurs, that object's appropriate
* method is invoked.
*
* @see TreeEvent
*/
class TreeListener implements TreeSelectionListener {
private DirListModel dirListModel;
private FileReference fileReference;
/**
* Instantiates a new tree listener.
* @param fileExplorerPanel
*
*/
public TreeListener(FileReference fileReference, DirListModel model) {
this.fileReference = fileReference;
this.dirListModel = model;
}
/*
* (non-Javadoc)
*
* @see
* javax.swing.event.TreeSelectionListener#valueChanged(javax.swing.
* event.TreeSelectionEvent)
*/
@Override
public void valueChanged(TreeSelectionEvent e) {
File file = (File) e.getPath().getLastPathComponent();
fileReference.setCurrentFile(file);
if (file.isDirectory()) {
dirListModel.setDirectory(file);
} else {
dirListModel.setDirectory(null);
}
}
}