Ola Pessoal,
No construtor da minha classe eu criei um objeto (final JTextField entrada3 = new JTextField(2);), teve que ser final pq no tratamento do botão eu preciso saber o que tem neste componente.
Gostaria de saber como q eu posso fazer para atualziar esse componente a partir de uma outra classe. Eu já tentei criar um metodo para receber esse novo valor e dar um (entrada3.setText(valor);), mas como o objeto esta declarado como final eu não consigo ter acesso para atualizar.
Obs: O objeto entrada3 não pode ser global tb.
Alguém pode me ajudar?
Obrigado.
[]s
Wagner
cara, com final realmente vc naum vai conseguir…
agora naum entendi muito bem pq tem q ser final o seu field…
se vc quer saber o que tem no field, ele naum precisa necessariamente ser final…
se vc puder explicar melhor…
Ola,
Para esse JTextField eu tenho uma ação no botão e dentro desse método eu solicito o que está armazenado nesse field (String valor = entrada3.getText();), se eu não colocar o final no JTextField aparece a seguinte mensagem de erro (Cannot refer to a non-final variable entrada3 inside an inner class defined in a different method).
[]s
Wagner
declara ela global que funciona …ai nao precisa ser final
e mesmo se ela for final… o setText() funciona sim
vc so nao vai poder redeclara -la…mas pode alterar seus valores
tenta ai declarar global…qq coisa posta ai
Ola,
Se eu declarar como global eu não vou poder recuperar os dados do JTextField definido anteriormente, ou seja, se eu tenho duas janelas dessa interface se eu declaro como global eu sempre vou poder pegar o que está armazenado na ultima interface.
Com relacao ao final eu não consigo fazer com que o objeto field seja atualizado em um outro método (acho q é quando vc fala em redeclarar).
Por exemplo,
static void updtJTextAreaTermostato (String valorTe)
{
valorT = valorTe;
entrada3.setText(valorTermostAtualMorad);
}
Isso eu nao consigo fazer pq o objeto entrada é final;
[]s
Wagner
claro que consegue
eh permiido vc dar setText em um textfield final
oq dev estar acontecendo eh que a sua variavel valorT é final
escreve direto o seu metodo …assim o
static void updtJTextAreaTermostato (String valorTe)
{
entrada3.setText(valorTe);
}
tem q funcionar
e nao intendi oq vc quis dizer ainda com 2 janelas… e nem pq nao pode ser global
mas nada a ver oq vc disse…se tiver duas janelas da mesma dialog…cada uma vai ter sua variavel de instancia textfield, entao nao tem problema ele ser global