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

    NETBEANS, passare un valore tra due classi

    ciao a tutti.
    uso netbeans, e non vorrei cambiare programma perche sono alle prime armi e devo terminare un lavoro in poco tempo.
    il problema è il seguente:
    -ho una classe, A,che estende un Jframe creato in automatico da netbeans.
    -all'interno c'è un jButton che chiama una seconda classe, B, che estende sempre un jFrame.
    -all'interno della classe B vorrei passare alla classe A di partenza un valore che ho scritto all'interno di una jTextField di B

    per far questo mi hanno spiegato che devo passare a B un riferimento all'istanza di A. e mi è stato dato anche del codice ma che però non riesco a integrare col codice autogenerato.
    percio potreste indicarmi la procedura per fare questa cosa in netbeans
    grazie in anticipo.

    se mi risolvete questo problema vi dedico la tesi.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,318
    Da quel che so, NetBeans quando genera le finestre, crea il costruttore di default (quello senza parametri) e, dentro a tale costruttore, inserisce solo un'istruzione: la chiamata al metodo initComponents().

    Il corpo del metodo initComponents() non è editabile, ma il costruttore sì.

    Quindi:

    1) Visualizza il sorgente della classe B

    2) Aggiungi un campo a tale classe, scrivendo questa riga fuori da qualunque metodo (appena prima del costruttore, ad esempio)
    codice:
    private A a;
    3) Modifica il costruttore, aggiungendo il parametro e la riga di codice che ne setta il valore:
    codice:
    // Questo è il costruttore generato da NetBeans
    public B() {
       initComponents();
    }
    
    // Deve diventare così:
    public B(A a) {
       this.a = a;
       initComponents();
    }
    4) Nel actionPerformed() del pulsante, modifica leggermente
    codice:
    // Tu hai scritto così:
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
       A a = new A();
       a.Get(jTextField1.getText());
    }
    
    // Modifica in questo modo:
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
       a.Get(jTextField1.getText());
    }
    Questo dovrebbe essere sufficiente.

    Il passaggio del valore è quello visto l'altra volta, in cui devi creare l'oggetto "B" in questo modo:

    codice:
    B b = new B( this );
    PS: se NetBeans ha anche aggiunto automaticamente il metodo main() nella classe B, puoi tranquillamenete cancellarlo... tanto è inutile, se la tua applicazione si avvia da un'altra classe.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    sei un grande!!! mi funziona

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.