Ho un JFrame con dentro una tabella.
Il JFrame si può ingrandire a tutto schermo, ma la tabella rimane piccola
Come faccio quando ingrandisco la JFrame a fare ingrandire pure la tabella?
Ho un JFrame con dentro una tabella.
Il JFrame si può ingrandire a tutto schermo, ma la tabella rimane piccola
Come faccio quando ingrandisco la JFrame a fare ingrandire pure la tabella?
Dipende in quale contenitore hai messo la tabella e quale layout manager eventualmente usa il contenitore.Originariamente inviato da xxdavide84xx
Ho un JFrame con dentro una tabella.
Il JFrame si può ingrandire a tutto schermo, ma la tabella rimane piccola
Come faccio quando ingrandisco la JFrame a fare ingrandire pure la tabella?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
la tabella l'ho messa dentro un JInternalFrame che sta dentro al mio JFrame che si ingrandisce....
COme posso gestire l'evento?
table.setPreferredScrollableViewportSize(new Dimension(int i, int j));
io ho questo valore per la mia Jinternalframe, ma vorrei poterlo ridimensionare in base alla dimensione della JFrame graande acendo poi le dovute proporzioni....
Non so se mi spiego...
in parole povere i e j dovrebbero cambiare dinamicamente....(con la gestione di un pulsante che ho già e fa altre cose....
DOvrei verificare la grandezza della finestra...e poi potere settare opportunatamente i e j, quale evento o funzione mi permette di fare ciò?
Premessa: i JInternalFrame tipicamente si usano mettendoli dentro un JDesktopPane. Hai fatto cosi? E se così, il JDesktopPane l'hai inserito dove e in quale layout manager?Originariamente inviato da xxdavide84xx
la tabella l'ho messa dentro un JInternalFrame che sta dentro al mio JFrame che si ingrandisce....
COme posso gestire l'evento?
E se non è così, perché? Vuoi che il JInternalFrame sia sempre ingrandito al massimo? Ma allora perché hai usato un JInternalFrame? Ti è chiaro a cosa serve un JInternalFrame?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Sì infatti è come hai detto tu...
Ho capito come ridimensionare il tutto usando opportunamente ,
solo che non so quale sia l'evento che mi dice che il jdesktop pannel è ingrandito a full screen.....codice:Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); //restituisce la dimensione dello schermo come oggetto Dimension screenHeight = screenSize.height; screenWidth = screenSize.width;
Io ho una classe che estende JFrame e al cui interno ho un JDesktopPAnel e Toolbar
codice:getContentPane().add(BorderLayout.NORTH,toolbar); getContentPane().add(BorderLayout.CENTER,desktop);
No, non ci siamo ..... scusa se lo dico ma ti mancano ancora nozioni fondamentali su Swing e sui layout manager.Originariamente inviato da xxdavide84xx
solo che non so quale sia l'evento che mi dice che il jdesktop pannel è ingrandito a full screen.....
Un JInternalFrame lo puoi massimizzare invocando il suo setMaximum(true). Questo però vuol solo dire che occuperà tutto lo spazio del JDesktopPane. Ma la dimensione del JDesktopPane dipende a sua volta da dove l'hai messo e in quale layout manager.
Ti faccio un esempio perché altrimenti non ne usciamo più.
Un JFrame ha un content-pane, che per default è un JPanel con impostato un BorderLayout. Immagina di mettere il JDesktopPane nella parte CENTER del BorderLayout. Bene, se la dimensione del JFrame cambia, pure la dimensione del suo content-pane cambia e siccome la parte CENTER cerca di occupare più spazio possibile, il JDesktopPane si ridimensiona in proporzione alla dimensione del JFrame. E se il JInternalFrame è massimizzato, pure lui segue il ridimensionamento.
Ti è chiaro?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ok, spiegazione perfetta e puntuale come al solito...
Scusa le mie scarse nozioni che ogni volta che leggi ti faranno rabbrividire..
Concettualmente avevo capito questo, mi manca solo questa nozione:
JFrame si ingrandisce a tutto schermo col suo pulsante e fin qui ci siamo, non capisco come faccio a dire il Jframe si è allargato al massimo!
Ci sarà pure un opzione o sbaglio anche qui?
Ma non ti serve "sentire" quando il JFrame si ridimensiona/massimizza!!! Se hai usato bene i layout manager, è automatico!Originariamente inviato da xxdavide84xx
JFrame si ingrandisce a tutto schermo col suo pulsante e fin qui ci siamo, non capisco come faccio a dire il Jframe si è allargato al massimo!
Ricapitoliamo:
- JFrame con content-pane di default con BorderLayout
- JDesktopPane nella parte CENTER del BorderLayout del content-pane
- JInternalFrame massimizzato (come indicato sopra)
Ora bisogna vedere come e dove hai messo la tabella: anche un JInternalFrame ha un content-pane (per default idem come per JFrame: JPanel con BorderLayout).
Se vuoi che la tabella si espanda su tutto il JInternalFrame dovresti:
- Mettere un JScrollPane nella parte CENTER del BorderLayout del content-pane di JInternalFrame
- mettere il JTable nel JScrollPane.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet