Não sei se alguém já precisou fazer o que eu preciso, mas eu tenho alguns JTextFields, que interagem entre si, tipo digitando em um, atualizando uma conta em outro e tal.Tudo funciona OK, até o momento em que eu preciso pegar o índice de uma combobox, e trabalhar para atualizar um campo(pegando o conteúdo de outros JTextFields).Algo + ou - assim para exemplificar:
[code]
private class TestadaListener implements DocumentListener{
private JTextField t;
private JTextField area;
private int index;
public TestadaListener(JTextField t,JTextField area,int index){
this.t=t;
this.area=area;
this.index=index;
}
public void changedUpdate(DocumentEvent e) {
/*Do nothing*/
}
public void insertUpdate(DocumentEvent e) {
System.out.println("Imprimindo:"+index);
if(t.getText()!=null&&area.getText()!=null){
double test=Double.parseDouble(t.getText());
double field=Double.parseDouble(area.getText());
if(index==4){
if(test>=field){
JOptionPane.showMessageDialog(null,"A área do terreno deve ser maior que a testada!"); }
else{
if(field<=10000){
testadaField.setText("14.00");
}else if(field>10000&&field<=20000){
testadaField.setText("28.00");
}else if(field>20000&&field<=40000){
testadaField.setText("42.00");
}else if(field>40000){
testadaField.setText("70.00");
}
String te=f.atualizarTestadaFicticia(t.getText(),area.getText(),ppField.getText());
testada.setText(te);
}
}else{
String te=f.atualizarTestadaFicticia(t.getText(),area.getText(),ppField.getText());
testada.setText(te);
}
}else{
testada.setText("1.00");
//alvAv.setText("1.00");
}
}//fim do insert update
public void removeUpdate(DocumentEvent e) {
String s = t.getText();
if(s.length()<1)
testada.setText("1.00");
}
}//fim da classe privada TestadaListener[/code]
Só que usando DocumentListener, os TextFields trabalham 100%, mas a combo não.Usando ActionListener, a combo trabalha sem erros, mas os JTextFields perdem a atualização dinâmica.Alguém já fez algo parecido?