2012-02-10 14 views
8

Come posso rendere il mio programma altalena a schermo intero quando viene premuto F11? (Non solo massimizzato)Abilita lo schermo intero usando l'altalena?

Al momento ho questo:

(defn toggle-full-screen [e] 
    (-> (to-root e) 
    magic!) 

(def full-screen-action (action :name "Full Screen" :tip "Full Screen"  
            :mnemonic \f  :key (keystroke "F11") 
            :handler toggle-full-screen)) 
(def view-menu (menu :text "View" 
         :mnemonic \v 
         :items [full-screen-action])) 

(def top-menubar (menubar :items [view-menu])) 
[...] 

toggle-full-screen eseguito premendo il tasto F11 però io non riesco a capire come fare il fullscreen telaio.

+0

Perché è stato downvoted? Sono molto curioso dal momento che è una domanda piuttosto vecchia. Ancora rilevante però e non un duplicato, mal scritto, ecc. – Annan

risposta

6

Lo scriptor del caveat, non l'ho provato in altalena, ma penso che si tratti principalmente di sfruttare direttamente ciò che è disponibile nello swing.

seguito le suggerisce cosa si può fare con l'API oscillazione: http://weblogs.java.net/blog/mkarg/archive/2010/01/03/fullscreen-mode-cool

anche: http://docs.oracle.com/javase/tutorial/extra/fullscreen/index.html

Almeno parte del trucco è chiamare setUndecorated sul telaio.

Non ho ancora studiato come si arriva agli oggetti swing necessari in altalena ancora.

+1

Questo sembra giusto. Il movimento alternato non avvolge affatto gli oggetti Swing, quindi puoi chiamare 'setUndecorated' direttamente sul risultato di' (to-root e) 'in' toggle-full-screen'. –

+6

Sì, l'articolo collegato funziona perfettamente con il movimento alternato. In effetti, il movimento alternato sanguinante ora lo supporta direttamente: https://github.com/daveray/seesaw/blob/develop/test/seesaw/test/examples/full_screen.clj –