Ciao a tutti,
Sto cercando di imparare come si costruisce una GUI, o meglio.. come integrarla con le altre classi contenenti l'implementazione.
Vorrei avere un vostro parere, su come posso creare la GUI a questa "applicazione" (scritta solamente per questo motivo)..
Vi mostro le classi:
codice:
class Persone {
private String nome;
private String cognome;
private String telefono;
private String cellulare;
Persone(String nome, String cognome, String telefono, String cellulare) {
this.nome = nome;
this.cognome = cognome;
this.telefono = telefono;
this.cellulare = cellulare;
}
String getName() {
return nome;
}
//... Taglio una parte di codice tanto si è capita la struttura della classe.
void setNome(String nome) {
this.nome = nome;
}
}
Ho un altra classe, chiamata Rubrica
codice:
class Rubrica {
private String nomeRubrica;
private ArrayList<Persone> elencoPersone = new ArrayList<Persone>();
Rubrica(String nomeRubrica) {
this.nomeRubrica = nomeRubrica;
}
// Ottiene il nome della rubrica corrente
String getNomeRubrica() {
return nomeRubrica;
}
// Setta il nome della rubrica corrente
void setNomeRubrica(String nomeRubrica) {
this.nomeRubrica = nomeRubrica;
}
// Ottiene un oggetto persona da nome e cognome passati come parametro
// se la persona non esiste ritorna null
Persone getPersona(String nome, String cognome) {
Persone persona=null;
for(Persone p:elencoPersone) {
if((p.getName().equals(nome)&&(p.getCognome().equals(cognome)))) {
persona = p;
}
}
return persona;
}
// Torna un elenco di persone per questa rubrica
ArrayList<Persone> getElencoPersone() {
return elencoPersone;
}
// aggiunge una persona all'elenco
void addPersona(Persone persona) {
elencoPersone.add(persona);
}
}
E un ultima classe Gestione
codice:
class Gestione {
ArrayList<Rubrica> elencoRubriche = new ArrayList<Rubrica>();
// Aggiunge una rubrica
void addRubrica(Rubrica rubrica) {
elencoRubriche.add(rubrica);
}
// Ottiene una rubrica
Rubrica getRubrica(String name) {
Rubrica rubrica=null;
for(Rubrica r:elencoRubriche) {
if(r.getNomeRubrica().equals(name)) {
return r;
}
}
return null;
}
}
NOTA: premetto che nel main vengono effettuati i salvataggi su MySQL.
Ho provato a scrivere una GUI, ci ero riuscito.. ma ho avuto enormi problemi con gli oggetti! In sostanza, avendo creato altre 2 classi incaricate all'aggiunta delle Persone una, e l'altra all'aggiunta e selezione di una Rubrica, non riuscivo ad aggiungere all'HashSet che memorizza le Rubriche i vari oggetti di tipo Rubrica (quando aggiungevo, nell'altra classe al posto di avere l'oggetto in questione avevo un riferimento null) (ovviamente compivo questa operazione tramite un riferimento della classe che estendeva JFrame e l'oggetto Gestione.), e quindi non potevo compiere alcuna operazione!
Detto questo.. come potrei fare a creare una Gui su questa applicazione?
Come faccio a scambiare informazioni tra gli oggetti, in modo da risolvere il problema che mi si era creato?
Grazie per l'aiuto!!