Java - Refrescar un JFrame

 
Vista:

Refrescar un JFrame

Publicado por iGNASI85 (23 intervenciones) el 19/07/2006 17:32:47
En un evento, he integrado la función (exec) de llamar a una aplicación. El problema, es que esta hace un System.out.println, es decir me escribe la salida del proceso en la consola.

Yo tengo un JFrame, con sus JTabbedPane y demás, pues bién, necesito que en vez de escribir la información el la salida de consola, lo haga en un JTextArea que tengo en uno de los JTabbedPane, pero claro, cómo "comunico" el código del evento del mouse al hacer click sobre el 'botón' (con la consecuente llamanda a la Aplicación 'X' usando exec()) con el JTextArea de la clase principal?

Es decir como actualizo el contenido del JTextArea con la salida del proceso 'X'? Con el link que me mostró anteriormente mi compañero, consigo que en consola vaya escribiendo linia a linia, pero no consigo que lo haga en el JTextArea.

Supongo que será´con la función repaint() o similar, pero también tengo dudas de como hacer que en el JTextArea me aparezca de forma coherente (saltos de línia y demás) la información que antes me mostraba por konsola. Leo línia a línia haciendo uso de readLine().

Digo de forma coherente, ya que hay veces que me muestra null o hay veces que me lo escribe todo en la primera línia del JTextArea.

Muchas gracias y perdonad las molestias
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:Refrescar un JFrame

Publicado por Danilo Juvinao (278 intervenciones) el 20/07/2006 00:40:17
La verdad nunca he usado esa funcion exec que mencionas, pero te puedo decir lo siguiente:

el metodo repaint() repinta el objeto del que lo llames, pero solo cuando java determine que es posible. lo cual no sucede porque java le da prioridad a los procesos internos que a la interfaz grafica.

si lo que deseas es forzar el repintado en el momento en el que lo indiques debes usar paint(Graphics g) y seria algo asi:

this.paint(this.getGraphics());

esta instruccion te repinta solo el componente en cuestion.

si deseas repintar el componente y todos los que esten dentro de este debes usar paintAll que se usa de la misma manera.

exitos,

Ing Danilo Juvinao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Refrescar un JFrame

Publicado por iGNASI85 (23 intervenciones) el 20/07/2006 23:39:46
Gracias por tu ayuda, probaré.

Gracias de nuevo
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:Refrescar un JFrame

Publicado por Leuis (1 intervención) el 25/05/2016 06:13:25
TE AMOOOO, has salvado mi semestre
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