2009-08-31 27 views
7

Các JFileChooser trong chế độ "danh bạ chỉ" trên Mac có hai nghiêm trọng, vấn đề làm tê liệt:JFileChooser cho các thư mục trên Mac: làm thế nào để làm cho nó không hút?

1) Bạn không thể tạo thư mục với nó

2) Bạn không thể chuyển đổi ổ đĩa

Đây là thay vì một vấn đề lớn cho ứng dụng trình cài đặt của tôi. Theo như tôi có thể nói, Apple không cung cấp cách nào để giải quyết vấn đề này, bạn thậm chí không thể kích hoạt trình chọn thư mục không có nguồn gốc ... do đó, thay thế duy nhất là tìm một tiện ích thay thế Java thuần túy/mã nguồn mở miễn phí.

Có ai biết không?

+1

Đây là bản sao: http://stackoverflow.com/questions/845403/how-can-i-make-a-jfilechooser-on-the-mac- cho phép người dùng tạo thư mục – Tom

+0

... ngoại trừ câu hỏi khác không giải quyết phần "chuyển đổi ổ đĩa". – Jonik

+1

Hmm, cả hai đều được hỏi bởi cùng một người rõ ràng, với khoảng thời gian 3 tháng ở giữa ... – Jonik

Trả lời

5

Điều gì về việc sử dụng java.awt.FileDialog? Nó cho thấy một trình chọn tập tin gốc và cho phép tạo các thư mục mới.

public static void main(String[] args) throws UnsupportedLookAndFeelException { 
    JFrame frame = new JFrame(); 
    System.setProperty("apple.awt.fileDialogForDirectories", "true"); 
    FileDialog d = new FileDialog(frame); 
    d.setVisible(true); 
} 
+0

Đó là để chọn tệp, không phải thư mục. Tôi không nghĩ rằng có thể chọn một thư mục với tiện ích đó. –

+1

Tôi đã thêm dòng bị thiếu để làm cho nó cho phép chọn thư mục. Tôi sử dụng điều này trong ứng dụng thương mại của mình để cho phép người dùng chọn thư mục. Nó tốt hơn nhiều so với JFileChooser –

2

tôi phát hiện ra rằng có một tài sản ảo thuật bạn có thể thiết lập mà làm cho các filepicker AWT làm điều đúng:

System.setProperty("apple.awt.fileDialogForDirectories", "true"); 

Tôi lờ mờ nhớ lại cố gắng này trước khi tôi còn trên OS X 10.4 và nó đã không làm việc, nhưng bây giờ tôi đang trên Leopard và nó, vì vậy tôi là một người cắm trại hạnh phúc.

+0

Điều này thực sự hoạt động trên OS X 10.4. –

2

tôi đã sử dụng JFileChooser với phương pháp ShowDialog và tôi không có vấn đề. Tôi có thể tạo các thư mục và sava như tập tin với tên mà tôi thích. Nếu bạn chỉ sử dụng phương thức showOpenDialog, bạn không thể tạo thư mục

Các vấn đề liên quan