Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    [JAVA ] comunicazione tra due frame

    Non so come ricercare l'argomento... Cliccando il pulsante di un frame(FrameA) faccio aprire un secondo frame (FrameB).
    La mia incompetenza si chiede questo: come devo procedere affinché FrameB riesca, ad esempio, a impostare il testo di un JTextField di FrameA?

  2. #2
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Ho fatto alcune ricerche, ma non so se ho ben capito.
    Per la seconda finestra dovrei usare una estensione di JDialog?

  3. #3
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    No, JDialog non c'entra nulla. Ci sono riuscito!

    Nel frameB ho usato

    Frame[] frames = Frame.getFrames();
    parentFrame myParentFrame = (parentFrame ) frames[1];

    In questo modo posso accedere a tutti i metodi del frameA.

    Ci sono controindicazioni o altri sistemi?

  4. #4
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Scusate il monologo...

    Ho aggiunto un ciclo per identificare il giusto frame anche quando ce ne sono altri eventualmente aperti.

    codice:
     
     
        Frame[] frames = Frame.getFrames();
                   
         int nFrame = frames.length;
         int j;
         
         for(j = 0; j < nFrame; j++){
        
          if(frames[j].getClass().toString().equals("class mioPackage.viewClassA")){
             
           
             frame1 myPost = (frame) frames[j];
             myPost.metodo();
          
          }  
          
        } // next
    Funziona, ma temo di aver applicato una soluzione con delle controindicazioni. Potreste suggerirmi qualcosa?

  5. #5
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Perche non fai un metodo nella classe Frame che ti restituisce direttamente il frame che ti serve?

    questa riga poi no mi piace:

    frames[j].getClass().toString().equals("class mioPackage.viewClassA")

    meglio fare

    frames[j] instanceof mioPackage.viewClassA

    ma perchè cosntrolli che sia istanza di mioPackage.viewClassA e poi però lo casti a (frame)?

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  6. #6
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Ti ringrazio per le tue preziose indicazioni.
    Il motivo per cui ho fatto come sopra è che sono agli inizi con Java e ancora non ci capisco granché.

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.