Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con JFrame

Estas en el tema de Problema con JFrame en el foro de Java en Foros del Web. Mi problema es que cuando inicio el codigo me aparece el JFrame sin el componente que agregue, en este caso un Jtexfield. Cuando minimizo y ...
  #1 (permalink)  
Antiguo 12/01/2013, 16:26
 
Fecha de Ingreso: enero-2013
Ubicación: Chile
Mensajes: 29
Antigüedad: 11 años, 10 meses
Puntos: 0
Exclamación Problema con JFrame

Mi problema es que cuando inicio el codigo me aparece el JFrame sin el componente que agregue, en este caso un Jtexfield. Cuando minimizo y vuelvo a ver el JFrame ahora el jtextfield si aparece.

Les dejo el codigo a continuación, gracias por su ayuda!

Código:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Point;
import java.awt.Toolkit;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public final class Frame extends JFrame {
    int array;

    public Frame() throws FileNotFoundException, IOException {
    
    	super("PruebaFrame");
		setVisible(true);
		setResizable(false);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Point middle = new Point(screenSize.width / 2, screenSize.height / 2);
		Point newLocation = new Point(middle.x - (getContentPane().getWidth() / 2), 
        middle.y - (getContentPane().getHeight() / 2));
		getContentPane().setLocation(newLocation);		
		setSize(650,600);

		InitComponents();}
    					
 public void InitComponents() throws FileNotFoundException, IOException{

    							setLayout(new FlowLayout());
    							//JLabel  PH= new JLabel("Turbidez Rio");
                                final JTextField textfield = new JTextField(2);		
                                       getContentPane().add(textfield);}
 
 public static void main(String[] args) throws FileNotFoundException, IOException {
        System.out.println("Funciona Main");
        new Frame();
    }
}
  #2 (permalink)  
Antiguo 12/01/2013, 17:26
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Problema con JFrame

Haz el setVisible(true) del JFrame al final, cuando esté ya toda la ventana construida.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 13/01/2013, 08:49
 
Fecha de Ingreso: enero-2013
Ubicación: Chile
Mensajes: 29
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problema con JFrame

Me ha funcionado con el ejemplo que he puesto. Ahora en otro programa tengo algo muy similar pero creo y agrego los componentes desde una funcion que llamo desde el constructor y me pasa lo mismo que preguntaba en este post, solo debes de minimizar aparecen los jtexfields y buttons.

Ayuda! y Gracias:)
  #4 (permalink)  
Antiguo 13/01/2013, 15:04
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Problema con JFrame

El problema posiblemente es el mismo, añade TODOS los componentes ANTES de hacer la ventana visible. Si uno de los componentes es un panel que va en el JFrame, añade también todos los componentes que lleve el panel antes de hacer la ventana visible.

Como alternativa, si no te queda más remedio que añadir los componentes después de hacer la ventana visible, puedes añadirlos y llamar luego al método updateUI() de los componentes añadidos o del panel que los contiene, obligando así a un repintado "fuerte".

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: jframe
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:05.