Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Ridimensionare tabella a tutto schermo..

    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?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Ridimensionare tabella a tutto schermo..

    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?
    Dipende in quale contenitore hai messo la tabella e quale layout manager eventualmente usa il contenitore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    la tabella l'ho messa dentro un JInternalFrame che sta dentro al mio JFrame che si ingrandisce....
    COme posso gestire l'evento?

  4. #4
    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ò?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    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?
    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?
    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Sì infatti è come hai detto tu...
    Ho capito come ridimensionare il tutto usando opportunamente ,
    codice:
    Toolkit kit = Toolkit.getDefaultToolkit();
        Dimension screenSize = kit.getScreenSize(); //restituisce la dimensione dello schermo come oggetto Dimension
        screenHeight = screenSize.height;
        screenWidth = screenSize.width;
    solo che non so quale sia l'evento che mi dice che il jdesktop pannel è ingrandito a full screen.....

    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);

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da xxdavide84xx
    solo che non so quale sia l'evento che mi dice che il jdesktop pannel è ingrandito a full screen.....
    No, non ci siamo ..... scusa se lo dico ma ti mancano ancora nozioni fondamentali su Swing e sui layout manager.

    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    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?

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    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!
    Ma non ti serve "sentire" quando il JFrame si ridimensiona/massimizza!!! Se hai usato bene i layout manager, è automatico!

    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.