(Gelöst) Bild wird nicht angezeigt

Z3R0-23

Grünschnabel
Hallo, nach langer Arbeit habe ich ein code der geht aber leider wird wenn ich einen der generierten Button drücke kein Bild gezeigt, woran könnte liegen?
Java:
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
   
public class Raster extends JPanel  {
   
    public Raster(String title) {
    JFrame frame = new JFrame(title);
   
    //Fenster erzeugen
    frame.setSize(1000, 1000);
    frame.setLayout(new GridLayout(0, 6));
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    //Buttons erzeugen
   
        for(int i = 1; i < 37; i++)
        {
            JButton h = new JButton ("Test");
            frame.add(h);
            h.addActionListener(e -> actionPerformed(e, h));   
           }
    frame.setVisible(true);
     }
   
   
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new Raster("Raster");
            }
        });
    }
   
    public void actionPerformed(ActionEvent e, JButton btn)
    {
        Image image = new ImageIcon(getClass().getResource("punkt.jpg")).getImage();
        ImageIcon icon = new ImageIcon(image.getScaledInstance(btn.getWidth(),btn.getHeight(),Image.SCALE_FAST ));
        btn.setIcon(icon);
    }
}
 
Zuletzt bearbeitet:
Moin,
bin mir nicht sicher, ob das mit der eigenen Klasse (so) wirklich funktioniert!
Warum hängt Du den Actionlistener nicht direkt an den Button?

Eventuell ist DIES auch noch hilfreich!
VG Klaus
 
Danke für denn Tipp hab eine Lösung gefunden und der Code funktiert jetzt auch, ich werde oben denn Code anpassen
Prima, freut mich!

Aber bitte NICHT den Code im ursprünglichen Post mit dem Fehler anpassen!
Erstens passt dann der Text nicht mehr zum Code!
Zweitens können User, die per Suche hierauf stoßen, im Grunde nichts mehr richtig nachvollziehen!
Also bitte immer im aktuellen Post den Code neu einfügen (gerne auch mit Hinweisen, was sich denn nun geändert hat rsp. das Problem löste).

Danke und VG
Klaus
 
Zurück