Tôi muốn JFileChooser của tôi bắt đầu ở chế độ xem chi tiết, thay vì chế độ xem "Danh sách" mà nó bắt đầu. Bạn làm như thế nào?Tôi làm cách nào để khởi động JFileChooser trong khung nhìn Details?
9
A
Trả lời
12
Bạn có thể lấy hành động từ ActionMap:
JFrame frame = new JFrame();
JFileChooser fileChooser = new JFileChooser(".");
Action details = fileChooser.getActionMap().get("viewTypeDetails");
details.actionPerformed(null);
fileChooser.showOpenDialog(frame);
2
Điều này hơi phức tạp và có lẽ không được hỗ trợ chính thức, nhưng tôi đã tìm ra cách thực hiện điều này. Đầu tiên, bạn cần lấy FilePane mà JFileChooser có. Cách duy nhất tôi biết làm thế nào để làm điều đó là để đi qua các thành phần của nó và sau đó làm một instanceof FilePane
cho đến khi bạn nhận được nó. Sau đó, điều này sẽ bắt đầu vào Thông tin chi tiết xem:
if (root instanceof FilePane) {
FilePane filePane = (FilePane) root;
Action viewTypeAction = filePane.getViewTypeAction(FilePane.VIEWTYPE_DETAILS);
viewTypeAction.actionPerformed(null);
}
Nice, đó có thể là một cách tốt hơn để làm điều đó. Trên thực tế, có thể bạn có thể giúp tôi giải quyết vấn đề của mình ở đây: http://stackoverflow.com/questions/16229526/how-do-you-remove-the-ctrlc-action-on-a-jfilechooser#comment23321430_16285866 –