Visualizzazione dei risultati da 1 a 10 su 108

Discussione: Problema con JFrame

Visualizzazione discussione

  1. #7
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da tonino1 Visualizza il messaggio
    Ciao. Niente da fare non mi riesce di istanziare un oggetto di una classe in un'altra classe. Ma si può fare?
    Certo che si può fare, sarebbe un po' difficile fare programmazione ad oggetti con una limitazione così restrittiva non credi ?

    Quote Originariamente inviata da tonino1 Visualizza il messaggio
    Di solito faccio così:
    FinestraAggiungiContatto nome=new FinestraAggiungiContatto();
    Poi cerco di popolare una lista in un frame chiamato FinestraVisualizzaContatto così:
    lista.add(nome.getText();.
    Ma mi dà sempre errore sull'istanza dell'oggetto della classe FinestraAggiungiContatto.
    Se per "mi dà errore" ti riferisci al fatto di ricevere sempre una NullPointerException in esecuzione, la risposta non può che essere una: stai nuovamente tentando di accedere a un oggetto/variabile che non è ancora stato istanziato.
    Questo nella stragrande maggioranza dei casi, ovviamente a meno che non sia tu a porre volontariamente una variabile a null (improbabile)...

    Senza avere il codice sottomano (l'avrai modificato immagino) è impossibile dire dove questo accade, ma ti basta guardare la riga che ti dà errore e controllare una ad una tutte le operazioni che fai, banalmente se stampi a video tutte le variabili della riga coinvolta e ricevi da qualche parte "null", hai già un'indicazione di quale sia a causare l'errore...

    Nelle due righe che hai postato ora poi, hai chiamato nome un frame di tipo FinestraAggiungiContatto, e poi sotto fai nome.getText(): quindi o hai sbagliato a scrivere il secondo nome, e volevi riferirti a uno dei tuoi textField, o devi avere definito nella classe FinestraAggiungiContatto un metodo getText() (non lo vedo molto sensato), o stai chiamando in parti diverse del codice due variabili con lo stesso nome, e questa è una pessima idea visto il casino in cui sei in mezzo

    Intanto se vuoi riposta il codice con le modifiche e ti dico dove sta il problema, ma ripensa a quello che ho scritto sopra: il design delle classi che stai creando non va affatto bene, e se continui a non volerlo "correggere" subito, farai sempre più fatica in futuro.

    Perché non hai ancora creato una classe Contatto? E' l'entità di base della tua rubrica, e ci fai sopra ogni operazione...
    Nel metodo Aggiungi che hai postato sopra (tra l'altro i nomi dei metodi per convenzione dovrebbero iniziare con la minuscola), inserisci le informazioni dei textfield in un ArrayList di stringhe e poi provi a scrivere la lista in un file, tra l'altro sovrascrivendolo ogni volta.

    Perché in quel punto non istanzi un nuovo contatto passando come parametri i dati inseriti, e non inserisci il nuovo contatto creato in una lista di Contatti ?
    Se poi la lista di Contatti la dichiari come variabile della classe Rubrica, sarà visibile a tutte le classi della tua applicazione, e non dovrai MAI avere bisogno di creare frame dentro altri frame e altre cose inutili ....
    Ultima modifica di Ansharja; 29-05-2016 a 08:46

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.