2015-12-02 1 views
0

J'ai essayé beaucoup de trouver de l'aide sur google, mais je ne pouvais pas trouver quelque chose en rapport avec mon problème.Je suis confronté à un grave problème.J'utilise un JComboBox dans mon Le programme java ne s'affiche que lorsque je lance le programme pour la première fois, mais après cette première fois il n'apparaît pas dans la liste déroulante.J'ai pas utilisé de removeAll(); ou tout type de suppression(); méthodes Toute aide serait appréciée comme je l'ai vu beaucoup de gens souffrent du même problème. »GPACalculator de classe { JFrame frame; Sélection JLabel; JComboBox sub; Police f1; JTextField nomTexte; JButton enter;JComboBox ne montrant pas flèche descendante après la première fois en cours d'exécution

public GPACalculator() { 
    frame = new JFrame("GPA Calculator---COMSATS Institute of Information Technology"); 
    frame.setSize(720, 640); 
    frame.setLocationRelativeTo(null); 
    frame.setResizable(false); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    ImageIcon head = new ImageIcon("images/Header.jpg"); 
    JLabel header = new JLabel(head); 
    header.setSize(720,90); 
    header.setLocation(0, 0); 

    ImageIcon log = new ImageIcon("images/Logo.png"); 
    JLabel logo = new JLabel(log); 
    logo.setSize(300,300); 
    logo.setLocation(480, 400); 

    selection = new JLabel("Select Number Of Subjects And Press Enter"); 
    f1 = new Font("Gabriola",Font.BOLD,30); 
    selection.setFont(f1); 
    selection.setLocation(10, 150); 
    selection.setSize(800, 50); 

    String[] subject = {"1","2","3","4","5"}; 
    sub = new JComboBox<String>(subject); 
    sub.setBounds(10, 200, 300, 50); 

    Container c = frame.getContentPane(); 
    c.setLayout(null); 
    c.setBackground(new Color(176,196,222)); 
    c.add(header,BorderLayout.CENTER); 
    c.add(logo); 
    c.add(selection); 
    c.add(sub); 
} 

public static void main(String[] args){ 
    new GPACalculator(); 
} 

} `

Répondre

2

Voici votre problème:

c.setLayout(null); 

Évitez d'utiliser mises en page null et utiliser à la place des gestionnaires de disposition appropriées et votre code sera probablement bien fonctionner.

+0

Comment utiliser correctement les gestionnaires de mise en page comme je suis nouveau à java. –

+0

@ChaudaryUsman Consultez ce tutoriel: [Guide visuel des gestionnaires de mise en page] (https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html). –

+0

Merci beaucoup c'était ma première question à n'importe quel forum en ligne et cette expérience était géniale :-D –