Ich habe ein Problem mit der JComboBox. Sobald ich sie in eine JPanel-Komponente stecke, ist sie nicht zu sehen. Das Witzige ist, dass wenn da vorher noch andere Elemente enthalten waren – z.B. JButtons – dass diese dann auch quasi nicht mehr drin sind. 
Kann mir jemand sagen was ich falsch mache?
Kann mir jemand sagen was ich falsch mache?
Java:
package solitaire;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Main extends JFrame{
public Main() {
super("Solitaire");
setSize(500, 400);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
setVisible(true);
mainMenu();
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
quitProgram();
}
});
JPanel buttonBar = new JPanel();
buttonBar(buttonBar);
getContentPane().add(buttonBar, BorderLayout.NORTH);
JPanel gameField = new JPanel();
}
public void quitProgram() {
YesNoDialog beenden = new YesNoDialog(new JFrame(), "Beenden?", "Möchten Sie das Programm wirklich beenden?");
if (beenden.returnStatus()) {
dispose();
System.exit(0);
}
}
public void buttonBar(JPanel buttonBar) {
JButton neuesSpiel = new JButton("neues Spiel");
buttonBar.add(neuesSpiel);
JButton spielSpeichern = new JButton("Spiel speichern");
buttonBar.add(spielSpeichern);
JButton spielLaden = new JButton("Spiel laden");
buttonBar.add(spielLaden);
String[] farben = {"rot", "grün", "blau", "grau"};
JComboBox elementFarbe = new JComboBox(farben);
buttonBar.add(elementFarbe);
}
public void mainMenu() {
//Menü-Leiste
JMenuBar menuBar = new JMenuBar();
// Menüs
JMenu spielMenu = new JMenu("Spiel");
menuBar.add(spielMenu);
JMenuItem undoSpielzugMI = new JMenuItem("Spielzug rückgängig");
undoSpielzugMI.setEnabled(false);
spielMenu.add(undoSpielzugMI);
spielMenu.add(new JSeparator());
JMenuItem neuesSpielMI = new JMenuItem("Neues Spiel", KeyEvent.VK_N);
spielMenu.add(neuesSpielMI);
JMenuItem speichernSpielMI = new JMenuItem("Spiel speichern", KeyEvent.VK_S);
spielMenu.add(speichernSpielMI);
JMenuItem ladenSpielMI = new JMenuItem("Spiel laden", KeyEvent.VK_L);
spielMenu.add(ladenSpielMI);
spielMenu.add(new JSeparator());
JMenuItem beendenSpiel = new JMenuItem("Spiel beenden", KeyEvent.VK_B);
spielMenu.add(beendenSpiel);
beendenSpiel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
quitProgram();
}
});
public static void main(String[] args) {
new Main();
}
}