PDA

View Full Version : [Java] Problema metodo getText


Lord_Brisingr
10-12-2015, 21:44
Salve a tutti, sto scrivendo un semplice programma utilizzando tre frame e in uno di questi frame ho una TextField e un bottone. All'interno della TextField andrà scritto il testo che, attraverso la pressione del bottone, andrà in un altro frame contenente una TextArea. Il problema è che il testo non viene trascritto nella TextArea nonostante io utilizzi il metodo getText():

String azione = text.getText();

azione è la variabile stringa in cui si dovrebbe scrivere il contenuto della TextField chiamata text.


public void actionPerformed(ActionEvent e) {

String bottone= e.getActionCommand();

if(bottone == "INVIA"){
output.setText(""+azione);
}


}


Questo invece è il contenuto dell'evento che permette alla pressione del bottone di trascrivere il contenuto della variabile azione nella TextArea chiamata output.

Grazie a tutti per l'aiuto.

GianMi
11-12-2015, 09:24
Uno degli errori più comuni è usare == nel confronto fra oggetti ;)

axelcode
11-12-2015, 18:27
Se vuoi confrontare il testo del tuo pulsante con la stringa "INVIA" devi usare il metodo equals.

Modifica il tuo metodo così:


public void actionPerformed(ActionEvent e) {

String bottone= e.getActionCommand();

if(bottone.equals("INVIA")){
output.setText(""+azione);
}


}


Un' altra tecnica è quella di dichiarare il JButton come variabile di classe in maniera che sia visibile all'interno dell'intera classe. Ad esempio:


protected Button bInvia;


A quel punto nel metodo actionPerformed puoi eseguire un confronto di oggetti:


public void actionPerformed(ActionEvent e) {

if(e.getSource() == bInvia) {
output.setText(""+azione);
}


}