2013-04-30 25 views

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); 
+0

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 –

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); 
    }