Originariamente inviato da claudio852001
è quello che ho provato a fare, dichiarando una variabile di tipo int e assegnarli il valore dell indice
int indice = jlist.getSelectedIndex();
e recuperarlo dall altra parte.. a sto punto è sbagliato usare getSelectdIndex() ?
mi puoi fare un esempio pls? grazie ciao
No, non è sbagliato, anzi, è esattamente ciò che va fatto, ma riguardando il codice che hai postato sopra, ad esempio, stai facendo (in parte) l'esatto opposto di ciò che va fatto:
codice:
int tipo;
public void setTipo(int tipo) {
this.tipo = jlist1. getSelectedIndex(); // mancavano le parentesi tonde
// qui andrebbe messo così, ma al momento non ti serve
this.tipo = tipo;
}
Un metodo che si chiama setTipo() e riceve un intero dovrebbe occuparsi di settare appunto una variabile con il valore che gli è stato passato... tu la setti con un valore che non c'entra nulla (e a te non serve affatto un setTipo(), al momento... ma solo un getTipo()) e ignori il valore passato.
Togli di mezzo questo metodo, che tanto non ti serve.
Riguardo a questo
codice:
public int getTipo() {
return tipo;
}
Se la variabile "tipo" fosse stata già valorizzata (dall'esterno o da qualche altra routine) avrebbe senso... ma nessuno mi garantisce che tu chiami da qualche parte setTipo() (nella versione errata tua, che, paradossalmente, sarebbe corretta con questa versione di getTipo). Andrebbe riscritta così:
codice:
public int getTipo() {
return jlist1.getSelectedIndex();
}
Ciao.