Agenda con Java problemi con ActionPerformed e unioni classi

di il
4 risposte

Agenda con Java problemi con ActionPerformed e unioni classi

Allora sto facendo un casino assurdo, non so da dove iniziare ed è per questo che chiedo aiuto,
sto creando un'agenda con la grafica,
ho realizzato alcune classi:
1) Contatto: che contiene tutte le caratteristiche che deve avere un contatto (Nome, Cognome, Indirizzo Casa/ufficio, Telefono casa/ufficio/cellulare, email, sito)
con relativo costruttore e get&set.

2) GestioneAgenda: implemento tutti i metodi utili per un'agenda: NuovoContatto, EliminaContatto, Salva, Leggi e in un secondo momento farò anche Modifica

3) Gui: dove ho realizzato l'interfaccia grafica principale, e ho un array di schede dove inserirò i contatti e si aggiungeranno man mano che creo un nuovo contatto, e 3 bottoni, nuovo,elimina e apri(per aprire il file salvato)

4) GuiNuovoContatto: è un'altra classe grafica che si deve aprire quando clicco "nuovo" dalla principale e contiene le textfield con i relativi campi da compilare

Io sono un po' confusa, nn so da dove iniziare al momento ho deciso di iniziare da "CreaNuovoContatto" bene quando io clicco questo cosa deve fare il mio programma: 1) Aprire la finestra GuiNuovoContatto, dopo di che devo compilare tutti i campi e devo prendere il contenuto delle Textfield e ogni campo deve essere inserito in una JLabel e devo creare una nuova Tab(quindi devo allargare la mia ArrayList) e inserirci l'elenco delle JLabel di tutti i capi...
Non so da dove iniziare sono in forte difficoltà con l'unire il tutto nell'action performed non lho capito molto purtroppo:(
Grazie in anticipo a tutti
Ecco non so da dove iniziare!!

SE VOLETE VEDERE IL MIO PIETOSO LAVORO, POTETE SCARICARLO DA QUI:
https://drive.google.com/folderview?id=0B4Yi5vQ7YVqtYk5FbUV5NzlHbGs&usp=sharing

4 Risposte

  • Re: Agenda con Java problemi con ActionPerformed e unioni classi

    Se ho capito bene, la tua confusione sta solo e semplicemente nel trasferimento dei dati del contatto tra un class e un altra.... da JTextField recuperi il dato Nome Cognome Via ecc (semplicemente come String) e tutti questi dati creano il Contatto...

    Poi nella GestioneContatto recuperi in un ArrayList le varie voci Contatto.. a questo punto nella Gui dovrai lavorare solo con questo ArrayList...

    Cmq la logica del tuo programma non è sbagliata... tieni separato le Gui dalla gestione vera e propria. Un consiglio... affinchè sia un buon programma dovresti prima creare tutto la gestione fregandotene della parte grafica... successivamente diventa molto facile premendo sopra un ipotetico JButton creaNuovaVoceContatto gestire questo nuovo contatto.

    Dopo do una controllata al tuo programma.. ciao
  • Re: Agenda con Java problemi con ActionPerformed e unioni classi

    Ho dato un'occhiata al tuo programma... e secondo me il problema è proprio che hai iniziato dalla parte grafica...
    Riepilogando...
    1) non è buona norma implementare l'interfaccia ActionListener sul contenitore (nel tuo caso il JFrame)
    
    JButton bottoneNuovo = new JButton("Nuovo");
    bottoneNuovo.addActionListener(new ActionListener()
    {
    GuiNuovoContatto frameNuovoContatto = new GuiNuovoContatto();
    //così apri la nuova finestra 
    });
    
    2) nella Finestra Nuovo Contatto crei i vari JTextField... li metti in un pannello contenuto nel JFrame(il JFrame non dovrebbe servire per aggiungerci quei componenti)
    
    //nel costruttore del JFrame GuiNuovoContatto
    Container contenitorePannello = getContentPane();
    PannelloPrincipale pannelloPrincipale = new PannelloPrincipale();
    contenitorePannello.add(pannelloPrincipe);
    //dentro al pannello principale gestisci la disposizione dei vari componenti
    
    3) adesso, semplicemente prendi quello scritto nelle varie caselle
    
    casellaIserimentoNome.getDocument().addDocumentListener(ClasseCheImplementaDocumentLister);
    
    4) quando hai tutti i campi del contatto associate a variabili String crei il Contatto
    
    Contatto cont = new Contatto(stringaNomePresa,stringaCognome ccc);
    
    Non Ho provato il codice e l'ho scritto direttamente da qui... pertanto sono possibili errori... ma dovrebbe comunque funzionare.. e... postmetto che non sono esperto... se sbaglio approccio spero che qualcuno mi indichi la strada giusta... a me.. e di conseguenza a te
  • Re: Agenda con Java problemi con ActionPerformed e unioni classi

    miticogilles ha scritto:


    Se ho capito bene, la tua confusione sta solo e semplicemente nel trasferimento dei dati del contatto tra un class e un altra.... da JTextField recuperi il dato Nome Cognome Via ecc (semplicemente come String) e tutti questi dati creano il Contatto...

    Poi nella GestioneContatto recuperi in un ArrayList le varie voci Contatto.. a questo punto nella Gui dovrai lavorare solo con questo ArrayList...

    Cmq la logica del tuo programma non è sbagliata... tieni separato le Gui dalla gestione vera e propria. Un consiglio... affinchè sia un buon programma dovresti prima creare tutto la gestione fregandotene della parte grafica... successivamente diventa molto facile premendo sopra un ipotetico JButton creaNuovaVoceContatto gestire questo nuovo contatto.

    Dopo do una controllata al tuo programma.. ciao

    Grazie Mille!! Adesso ci proverò come mi hai consigliato tu.
  • Re: Agenda con Java problemi con ActionPerformed e unioni classi

    miticogilles ha scritto:


    Ho dato un'occhiata al tuo programma... e secondo me il problema è proprio che hai iniziato dalla parte grafica...
    Riepilogando...
    1) non è buona norma implementare l'interfaccia ActionListener sul contenitore (nel tuo caso il JFrame)
    
    JButton bottoneNuovo = new JButton("Nuovo");
    bottoneNuovo.addActionListener(new ActionListener()
    {
    GuiNuovoContatto frameNuovoContatto = new GuiNuovoContatto();
    //così apri la nuova finestra 
    });
    
    2) nella Finestra Nuovo Contatto crei i vari JTextField... li metti in un pannello contenuto nel JFrame(il JFrame non dovrebbe servire per aggiungerci quei componenti)
    
    //nel costruttore del JFrame GuiNuovoContatto
    Container contenitorePannello = getContentPane();
    PannelloPrincipale pannelloPrincipale = new PannelloPrincipale();
    contenitorePannello.add(pannelloPrincipe);
    //dentro al pannello principale gestisci la disposizione dei vari componenti
    
    3) adesso, semplicemente prendi quello scritto nelle varie caselle
    
    casellaIserimentoNome.getDocument().addDocumentListener(ClasseCheImplementaDocumentLister);
    
    4) quando hai tutti i campi del contatto associate a variabili String crei il Contatto
    
    Contatto cont = new Contatto(stringaNomePresa,stringaCognome ccc);
    
    Non Ho provato il codice e l'ho scritto direttamente da qui... pertanto sono possibili errori... ma dovrebbe comunque funzionare.. e... postmetto che non sono esperto... se sbaglio approccio spero che qualcuno mi indichi la strada giusta... a me.. e di conseguenza a te
    Grazie seguirò anche i tuoi consigli
Devi accedere o registrarti per scrivere nel forum
4 risposte