Pregunta

Cuando estoy corriendo este, JLabel no es visible, pero cuando cambio el tamaño de la ventana (con el ratón) se mostró JLabel. ¿Por qué?

import javax.swing.*;
import java.awt.*;

public class FrmTaoLogin extends JFrame {

  private JPanel pnlLeft = new JPanel();

  public FrmTaoLogin() {

    super();

    pnlLeft.setBorder(BorderFactory.createEtchedBorder());
    pnlLeft.add(new JLabel("test1"));
    getContentPane().add(pnlLeft,BorderLayout.SOUTH);

    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(200, 200); 

  }

  public static void main(String[] args) {

    FrmTaoLogin FrmLogin = new FrmTaoLogin();
    FrmLogin.setVisible(true);

  }

}
¿Fue útil?

Solución

Esta mirada al igual que algunos de los errores L & F en mayores de Java VM de nuevo sistema operativo. Por ejemplo en Windows 7 la mayoría de los problemas se resuelven primero con 1.6.0_17. Debería iniciar su programa con una consola. Si ves algunas stacktraces en el hilo de eventos, entonces es un problema de un error de L & F.

Otros consejos

IIRC, esto sucede cuando usted no llama Frame.pack (). Se debe trabajar si se llama 'pack ()' como la última línea del constructor.

Sospecho que el problema aquí puede tener que ver con tratar de construir y mostrar sus componentes GUI fuera de la hilo oscilación .

¿Qué pasa si cambia main() para invocar el código de interfaz gráfica de usuario en el hilo Swing, de esta manera?

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            FrmTaoLogin FrmLogin = new FrmTaoLogin();
            FrmLogin.setVisible(true);
        }
    });
}

Gracias a todos, problema resuelto. Cómo cambio el tema Windows y todo el trabajo fino. Creo que es Windows Aero y mi NVIDIA GeForce FX 5500 problema. Esta tarjeta oficial no funciona con Windows Aero.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top