Tôi đang làm việc trên một dự án RCP Eclipse và cần cho phép người dùng chọn một số tệp. Để thuận tiện, dựa trên một số điều kiện, thư mục ban đầu của hộp thoại chọn tệp phải được đặt trước khi mở nó.Đặt thư mục ban đầu trong SWT FileDialog
Khi tôi bị ràng buộc với Eclipse RCP/SWT, tôi đang làm việc với org.eclipse.swt.widgets.FileDialog
.
Tài liệu về số này FileDialog
chỉ ra để sử dụng phương pháp setFilterPath(String string)
cần làm chính xác những gì tôi cần (xem documentation).
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String [] {"*.html"});
dialog.setFilterPath("c:\\temp");
String result = dialog.open();
Thật không may nó không hoạt động, ít nhất không phải "mọi lúc".
Tôi hiện chưa cài đặt để kiểm tra, nhưng tôi khá chắc chắn rằng tính năng này sẽ hoạt động hoàn toàn trên máy tính Windows 200/XP/Vista. Tôi đang làm việc với một máy tính Windows 7 và tôi nghĩ rằng tôi đang bị hành vi được mô tả ở đây cho lpstrInitialDir.
Ít nhất, đây chính xác là hành vi tôi đang gặp phải: Đường dẫn là lần đầu tiên tôi mở hộp thoại, nhưng lần thứ hai, đường dẫn ban đầu được đặt thành đường được chọn cuối cùng. Điều này có vẻ thuận tiện trong hầu hết các trường hợp, nhưng nó không phải là của tôi.
Điều này có đúng không? Nếu có, tôi có cơ hội thay đổi hành vi theo nhu cầu của mình không?
Cảm ơn mọi câu trả lời trợ giúp!
Tôi đã nêu ra lỗi đó .. https://bugs.eclipse.org/bugs/show_bug.cgi?id=426849 –