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

    Passaggio oggetto da una classe all'altra

    Ciao,
    ho un problema, il codice fondamentalmente è:

    classeprincipale{

    classe1{
    /*qui creo il frame */
    JFrame f = new JFrame;
    }

    classe2{
    /* qui devo riuscire ad usare il frame usato nella classe1 per renderlo visibile*/
    f.setVisible(true);
    }
    }


    Come faccio a passare f (il frame della classe1) nella classe2 per poterne modificare i parametri (in questo caso visibilità, ma anche per esempio setSize ecc) ?

    Sto studiando il Java e sto realizzando un piccolo programma proprio per comprenderlo meglio e sono bloccato per questo problema.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Ti conviene studiarti la OOP prima comunque.

    L'unico modo che hai per utilizzare f è sfruttare la classe classe1. Dove crei un oggetto di tipo classe1? E dove quello di classe2?

    Essenzialmente:

    Istanzi classe2 all'interno di classe 1 (ed in questo caso potresti usare metodi creati ad-hoc per effettuare ciò che vuoi, ad esempio un setter per le dimensioni del frame), passando al costruttore di classe1 l'oggetto corrente (ovvero, per capirci: Classe2 c2 = new Classe2(this););

    Se spieghi che vuoi realizzare, potresti avere anche altri consigli.


    PS: Rispetta le convenzioni di Java: l'iniziale del nome della classe sempre in maiuscolo, ricorda

  3. #3
    Grazie per la risposta.

    L'obiettivo è creare una classe (Pannello.java) da utilizzare all'interno di Applicazione (classe principale).

    codice:
    package applicazione;
    import javax.swing.*;
    
    public class Pannello {
    
    public void Crea{
    /*qui creo il frame */
    JFrame f = new JFrame;
    }
    
    public void Visibile(boolean v){
    /* qui devo riuscire ad usare il frame usato nella classe Crea per renderlo visibile*/
    f.setVisible(v);
    }
    
    }
    per poi richiamarlo bella classe principale:
    codice:
    package applicazione;
    public class Applicazione{
    
        public static void main(String[] args) {
            Pannello pan1 = new Pannello();
            pan1.Crea();
            pan1.Visibile(true);
        }
    }
    in questo caso come dovrei usare Classe2 c2 = new Classe2(this); ?

  4. #4
    Risolto, avevo interpretato male il consiglio.

    Grazie

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.