2011-11-18 15 views
7

Desidero un JPanel che può essere compresso o espanso quando l'utente fa clic su un testo/icona sul bordo. Ho bisogno di questo tipo di pannello a causa di problemi di spazio nella mia applicazione.Come avere JPanel pieghevole/espandibile in Java Swing

Ho letto sulla classe CollapsiblePanel ma non sono sicuro di come utilizzarlo .. Penso che SwingX sia necessario per il download ma non lo trova da nessuna parte.

Inoltre, sarebbe meglio se ottengo la soluzione a questo in Java Swing di base.

+3

* "Ho bisogno di questo tipo di pannello a causa di problemi di spazio nella mia applicazione." * Ci sono altri modi per posizionare molti controlli in una GUI. 'JTabbedPane',' JSplitPane', 'CardLayout',' JDesktopPane'/'JInternalFrame' .. In alternativa potrebbe avere più senso far apparire i controlli aggiuntivi in ​​un' JDialog' (possibilmente modale) o in un 'JOptionPane'. –

+2

@AndrewThompson - siamo su Swing, quindi ci sono moltissime possibilità, ma: JXCollapsible/JXTaskPane è così carino :-) – kleopatra

+0

@kleopatra Ti stavo aspettando per farti scoppiare e rispondere alla domanda * effettiva * dell'OP. Ho solo pensato di renderli consapevoli che ci sono una miriade di possibilità. :) –

risposta

9
non

sicuri di dove si guardava, ma non è che difficile da trovare - anche dato il casino infrastrutture siamo in ;-)

Vai alla home progetto SwingX, quindi seguire il link nella prima paragrafo alla sezione di download (barebone), fino alle versioni \ 1.6.2. Niente di speciale per i collassatori stessi, solo contenitori per inserire componenti.

+0

Concurr. Attualmente riscriviamo la maggior parte della nostra GUI con i componenti SwingX. Risparmia circa la metà del codice per l'adattamento dei componenti Swing standard. –

+0

Grazie kleopatra .. Ho ottenuto la libreria SwingX ... importata e sto usando ora. Loved JXTaskPane e JXCollapsible :) Non ancora esplorato a fondo in entrambi i riquadri. Quello che stavo cercando è qualcosa di simile sia a "JXTaskPane" che a "JXCollapsible". Tuttavia, è piaciuto ** JXTaskpane ** più di ** JXCollapsiblePane ** come riquadro comprimibile richiede un ** trigger esterno ** per espandere e comprimere. Correggimi se sbaglio –

1

Penso che sia possibile utilizzare uno JSplitPane per risolvere il problema. Utilizzando la proprietà per stabilire con giudizio la posizione del divisore, puoi ottenere ciò che desideri.

Problemi correlati