2013-04-30 10 views

risposta

12

È possibile ottenere l'azione dal ActionMap:

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

Nizza, che è probabilmente un modo migliore per farlo. A dire il vero, forse puoi aiutarmi con il mio problema qui: http://stackoverflow.com/questions/16229526/how-do-you-remove-the-ctrlc-action-on-a-filmaooser#comment23321430_16285866 –

2

Questo è un po 'complicato e probabilmente non supportato ufficialmente, ma ho scoperto come farlo. Per prima cosa, devi procurarti il ​​FilePane che ha JFileChooser. L'unico modo in cui so come farlo è quello di attraversare i suoi componenti e quindi fare un instanceof FilePane finché non lo ottieni. Allora questo avrà inizio nella visualizzazione Dettagli:

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