2013-04-30 57 views

回答

12

你可以從ActionMap中的Action:

JFrame frame = new JFrame(); 
JFileChooser fileChooser = new JFileChooser("."); 
Action details = fileChooser.getActionMap().get("viewTypeDetails"); 
details.actionPerformed(null); 
fileChooser.showOpenDialog(frame); 
+0

不錯,這可能是一個更好的方式來做到這一點。其實,也許你可以在這裏幫我解決我的問題:http://stackoverflow.com/questions/16229526/how-do-you-remove-the-ctrlc-action-on-a-jfilechooser#comment23321430_16285866 – 2013-04-30 05:38:33

2

這是一個有點棘手,可能不正式支持,但我發現如何做到這一點。首先,您需要獲取JFileChooser所具有的FilePane。我知道如何做到這一點的唯一方法是遍歷它的組件,然後做一個instanceof FilePane,直到你得到它。那麼這將在詳細查看啓動:

if (root instanceof FilePane) { 
     FilePane filePane = (FilePane) root; 
     Action viewTypeAction = filePane.getViewTypeAction(FilePane.VIEWTYPE_DETAILS); 
     viewTypeAction.actionPerformed(null); 
    }