(Cảm ơn trước! Xin vui lòng cho tôi biết nếu bạn cần thêm Mẫu mã thông tin. Ở phía dưới.)Java JFileChooser với Filter để được cho là hiển thị danh bạ CHỈ thất bại trong việc hiển thị chỉ thư mục
Vấn đề tôi đang cố gắng để giải quyết:
Tôi đang cố gắng để có được đối tượng JFileChooser này để chỉ hiển thị các thư mục (và không phải tệp), thông qua việc sử dụng đối tượng javax.swing.filechooser.FileFilter có tệp này trong tệp chấp nhận (Tệp) bị ghi đè phương pháp: return file.isDirectory();
. Tuy nhiên, ít nhất là trên mac của tôi, nó không có vẻ để ngăn chặn các tập tin được hiển thị cùng với các thư mục (nó ngăn chặn các tập tin được chọn mà không sử dụng phương thức setFileSelectionMode()).
Câu hỏi
Am tôi thiếu cái gì? Nếu không, có ai từng gặp điều này trước đây không?
hiểu biết của tôi/giả định:
- Sự kỳ diệu sẽ xảy ra khi bạn vượt qua trong một đối tượng javax.swing.filechooser.FileFilter vào phương pháp
setFileFilter()
của JFileChooser. - Có vẻ như JFileChooser tôi với setFileFilter() là hành xử như sử dụng của
setSelectionMode(JFileChooser.DIRECTORIES_ONLY);
Mã
import java.io.File;
import javax.swing.filechooser.FileFilter;
// inside a method that's adding this to a JPanel
_fileChooser = new JFileChooser(".");
_fileChooser.setControlButtonsAreShown(false);
_fileChooser.setFileFilter(new FolderFilter());
// _fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
_panelMidLeft.add(_fileChooser);
// an inner class, defined somewhere else in the class
private class FolderFilter extends javax.swing.filechooser.FileFilter {
@Override
public boolean accept(File file) {
return file.isDirectory();
}
@Override
public String getDescription() {
return "We only take directories";
}
}
Cảm ơn!
Alex
Hãy học chung [ước Java đặt tên] (http://java.sun.com/ docs/books/jls/second_edition/html/names.doc.html # 73307) (cụ thể là trường hợp được sử dụng cho tên) cho tên lớp, phương pháp & thuộc tính & sử dụng nó một cách nhất quán. –
Cảm ơn bạn đã đề xuất. Khác với việc sử dụng '_' (trong trường hợp của tôi là để thực sự chỉ ra các biến mẫu), bạn có phiền khi chỉ ra một vài điều, trong khi tôi đang xem các tài liệu trên web ngay bây giờ về các quy ước? –