Question

Quand je courais cela, JLabel est pas visible, mais quand je redimensionner la fenêtre (avec la souris) JLabel est montré. Pourquoi?

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);

  }

}
Était-ce utile?

La solution

Ce regard comme certains des bugs L & F dans plus machines virtuelles Java sur OS récent. Par exemple sur Windows 7 le plus de problèmes sont résolus d'abord avec 1.6.0_17. Vous devriez commencer votre programme avec une console. Si vous voyez des stacktraces dans le fil des événements, alors il est un problème d'un bug de L & F.

Autres conseils

IIRC, cela se produit lorsque vous ne l'appelez pas Frame.pack (). Il devrait fonctionner si vous appelez « pack () » comme la dernière ligne du constructeur.

Je soupçonne que le problème ici peut avoir à faire à essayer de construire et de montrer vos composants de l'interface graphique en dehors de la fil Swing .

Que faire si vous changez main() pour appeler votre code GUI sur le fil Swing, comme ça?

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

Merci à tous, problème résolu. Je change le thème Windows et tout va bien travailler. Je pense que ce Windows Aero et mon problème FX 5500 NVIDIA GeForce. Ce fonctionnaire de carte ne fonctionne pas avec Windows Aero.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top