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.
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…
J
java_duvidasPJ
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
J
JavaNightPJ
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
J
java_duvidasPJ
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).
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