Salve a tutti! Avrei un problema che non riesco a risolvere...
Praticamente inserito in un JPanel 2 vector:
codice:
private Vector<JTextField> texts = new Vector<JTextField>();
private Vector<JLabel> stati = new Vector<JLabel>();
Ho generato un JPanel (GridLayout(lezioni.size(),2) fatto tipo di un certo numero di righe e 2 sole colonne: in una colonna inserisco un JTextfield e l altra inserisco una JLabel.
Ad ogni JTextfield ho associato un Listener tramite un ciclo che pero non riesco a far funzionare come vorrei :
codice:
for (int k=0; k<lezioni.size(); k++){
........
texts.elementAt(k).addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1){
CalendarioStato cal = new CalendarioStato(lezione.getInt("id_lezione"),"",db, ((JTextField)e.getComponent()), true, tipo, ((JLabel)stati.lastElement())) ;
}
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
});
Il problema sta qui-> ((JLabel)stati.lastElement())... cliccando sul Jtextfield si apre un nuovo JFrame calendario dove selezionando il giorno e cliccando poi su un JButton("inserisci") immetto una data formattata nel JTextfield (precedentemente cliccato) e setto un etichetta ("testo A", "testo b", "testo c") che si dovrebbe aggiornare nella JLabel di fianco .. La Jtextfield si aggiorna perfettamente mentre la JLabel CORRISPONDENTE NO o meglio, cambia si etichetta, ma sempre e solo quella dell ultima riga! Vorrei trovare il modo che cliccando sul JTextfield (della 3 riga ad esempio) automaticamente riesca a passare alla classe CalendarioStato proprio la JLabel che ha di fianco(cioè della 3 riga).. e non so come poterlo fare.
Ho cercato di riassumere per non scrivere papiri di codice..Spero di essermi spiegato in un italiano pseudo-comprensibile...
QUALCHE IDEA??