Java - Actualizar texto en JFrame

 
Vista:

Actualizar texto en JFrame

Publicado por Luismi (5 intervenciones) el 30/05/2010 21:11:29
Buenas a todos.

Tengo un JFrame, el cual le puedo cambiar el idioma del texto. (con ResourceBundle)

El caso, es que cuando doy al boton de cambiar el idioma, cambio la variable de bundle,para que me coja otro idioma, pero el problema está en que no consigo que me actualice el texto.

He probado con pack(), repaint(), pero no me cambia nada... y no se que opciones más me quedan.

También habia pensado en "reiniciar" la aplicación, pero eso sí que no se como hacerlo.

Gracias a todos por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Actualizar texto en JFrame

Publicado por Carlos Mario Toro (24 intervenciones) el 02/06/2010 20:32:36
al momento de cambiar la variable del resourcebundle puede que no estes cambiando los valores asignados a los componentes gráficos que tienes en el JFrame, al momento de llamar al método repaint no cambias los textos que ya tienes cargados, igual pasa con pack, por lo que debes encontrar la manera de asignar nuevamente los textos a los componentes una vez cambian el idioma de la aplicación.

Si la aplicación está en ejecución y cambian el idioma no está bien visto que reinicies la aplicación o componentes gráficosnote, pero si es necesario lo podrías hacer.

Creo que para hacerlo fácil puedes utilizar un método que reasigne los valores de los textos a los componentes gráficos así si actualizará en tiempo de ejecución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Actualizar texto en JFrame

Publicado por Julian (1 intervención) el 11/06/2010 18:53:13
Yo tenia el mismo problema, lo que hice fue en el momento de estripar el boton, a todos los componenetes del reasigno el texto, por ejemplo:

boton1.setText(bundle.getString(boton1.getName()));

Claro que en mi caso solo son 5 componentes.

Tambien se que existe la clase SwingUtilities que la he usado para actualizar el tema de un JFrame, en ese caso he usado:

SwingUtilities.updateComponentTreeUI(Ventana);

Donde Ventana es el JFrame, quizas esa clase tenga un metodo para lo que necesitas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar