Frage von dienoppe19, 12

Warum wird mein JButton nicht angezeigt?

Ich habe folgenden Code:

         label31_Dezember.addMouseListener(new MouseAdapter() {
                @Override
            public void mouseClicked(java.awt.event.MouseEvent e) {
                System.out.println("Dezember");
                JButton btn1 = new JButton("Hallo");
                btn1.setBounds(400, 0, 100, 100);
                btn1.setVisible(true);
                label31_Dezember.setVisible(false);
                contentPane.add(btn1);
                
            }
        });

Ich möchte, dass, wenn das JLabel gedrückt wird, dass ein JButton erscheint.

Expertenantwort
von KnusperPudding, Community-Experte für Java, 2

Sieht doch gar nicht so falsch aus. Der Fehler wird eher außerhalb dieses Snippets liegen.

Antwort
von 01AndiPlayz, 9

Bin mir grad nicht sicher, hatte schon lange kein Java mehr am start...

Kann es sein, dass du den auf die Größe 400-0 setzt? Oder ist das 400-0 die Koordinaten und das 100-100 die Größe?

Wenn du 400-0 als Größe setzt, siehst du den halt nicht :)

Kommentar von dienoppe19 ,

Java definiert es so: 

label.setBounds(int x; int y, int width, int height)

Kommentar von 01AndiPlayz ,

Oh, alles klar. Daran kann es also nicht liegen.

Versuche mal das hinzufügen zum ContentPane (und das erstellen der Größe, Position, usw.) schon ganz am Anfang des Codes zu machen und den Button bei Bedarf einfach auf Visible setzen.

Kommentar von dienoppe19 ,

Danke es hat funktioniert:)

Antwort
von oelbart, 4

Hast Du mal versucht, dass contentPane.add vor das setVisible und setBounds zu setzen?

Und funktioniert das mit dem contentPane.add bei anderen Buttons/Labels/etc ?

Kommentar von dienoppe19 ,

Das mit dem davor setzen hat leider nicht funktioniert und das contentPane.add kann ich bei JButtons und JLabels hinzufügen, aber beide Arten werden nicht angezeigt 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten