Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315

    Consiglio JInternalFrame

    Ho una classe che estende JDesktopPane a cui aggiungo n classi che estendono JInternalFrame.
    In base a delle azioni rendo visibili questi frame che però vengono posizionati tutti in alto a destra (non setto nessun layout al conenitore).

    Ciò che vorrei fare e farli comparire uno poco più sotto dell'altro, come quando si tengono le carte da gioco aperte in mano, in modo che si possano sempre selezionare i frame che stanno indietro.

    Come fareste questa cosa?

    Grazie

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

    Re: Consiglio JInternalFrame

    Originariamente inviato da koala81
    Ciò che vorrei fare e farli comparire uno poco più sotto dell'altro, come quando si tengono le carte da gioco aperte in mano, in modo che si possano sempre selezionare i frame che stanno indietro.
    JDesktopPane per default non ha (e non dovrebbe avere) alcun layout manager!! I JInternalFrame infatti di norma li si posiziona/dimensiona esplicitamente. Quindi ... sei tu che devi/puoi stabilire dove sono messi i JInternalFrame, disponendoli che so ... un po' più spostati l'uno dall'altro.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Guarda...una volta ho utilizzato questa come soluzione, ma non so neppure dirti se è quella ottimale:

    Crea una classe che estende JDesktopPane ed all'interno dichiaro il metodo add che come parametro avrà una JInternalFrame che intendo passare.
    All'interno di questa classe ho una collection dei frame che sono stati aggiunti ed a seconda dell'ultimo oggetto ( o secondo una tua discrezione ) prelevo il posizionamento e setto il nuovo posizionamento al nuovo IFrame ( abbr. di IternalFrame ).
    Importante è che questa classe deve esser a tutti gli effetti un proxy, quindi al mio IFrame aggiungo un InternalFrameListerer che nella funzione di chiusura ( non mi ricordo...dovrebbe esser qualcosaClosing ) richiamo una funzione del mio "proxy" e rimuovo la IFrame dalla lista e faccio il dispose...

    spero sia stato comprensibile!
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da @DI3GO@
    Crea una classe che estende JDesktopPane ed all'interno dichiaro il metodo add che come parametro avrà una JInternalFrame che intendo passare.
    Corretto. Può certamente avere senso "incapsulare" la logica di inserimento e posizionamento specifico di un frame.

    Originariamente inviato da @DI3GO@
    All'interno di questa classe ho una collection dei frame che sono stati aggiunti ed a seconda dell'ultimo oggetto ( o secondo una tua discrezione ) prelevo il posizionamento e setto il nuovo posizionamento al nuovo IFrame ( abbr. di IternalFrame ).
    Importante è che questa classe deve esser a tutti gli effetti un proxy, quindi al mio IFrame aggiungo un InternalFrameListerer che nella funzione di chiusura ( non mi ricordo...dovrebbe esser qualcosaClosing ) richiamo una funzione del mio "proxy" e rimuovo la IFrame dalla lista e faccio il dispose...
    La gestione di una lista e la rimozione a seguito di notifica si potrebbe anche evitare ... JDesktopPane ha un public JInternalFrame[] getAllFrames() quindi in ogni momento puoi avere una lista dei frame contenuti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315
    Sempre precisi e chiari!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.