Max
4. Mai 2009 um 11:55
1
Hallo,
ich bin Programmier-Anfänger und habe mit meinem kleinen GUI-Programm ein Problem.
Ich möchte ein Fenster öffnen, in dem gleichzeitig ein Bild, zwei Buttons und ein Label auftauchen sollen.
Allerdings erscheint erst das Bild, welches dann verschwindet. Danach erst tauchen Buttons und Label auf.
Ich hab den Code mal angehängt…
Für die Hilfe vielen Dank
M.
Nimm mal die paint Methode raus und setz das Bild in ein JLabel. etwa so:
JLabel bild = new JLabel(icon);
bild.setBounds(150, 150, icon.getIconWidth(), icon.getIconHeight());
add(bild);```
Ausserdem sollte die GUI immer mit invokeLater gestartet werden:
```public static void main(final String[] args) {
Runnable gui = new Runnable() {
@Override
public void run() {
// Fenster wird erstellt
Startfenster start = new Startfenster(500, 500);
// 2 Buttons werden erstellt
Buttons knopf1 = new Buttons("Beenden", 100, 40, 50, 400);
Buttons knopf2 = new Buttons("Spielen", 100, 40, 350, 400);
// Hinzufügen der Buttons zum Startfenster
start.getContentPane().add(knopf1);
start.getContentPane().add(knopf2);
// erstellen und hinzufügen des Labels
Label überschrift = new Label("Black Jack", 300, 300, 150, 0);
überschrift.setFont(new Font("Arial", Font.BOLD, 40));
start.getContentPane().add(überschrift);
start.setVisible(true);
}
};
//GUI must start on EventDispatchThread:
SwingUtilities.invokeLater(gui);
}```
Max
5. Mai 2009 um 11:40
3
Klasse, funktioniert!!
Danke!