Hallo, ich versuche grade bei dem Code mit der Random taste auf denn anderen Buttons ein Bild einzeigen zu lassen bloß es funktinert nur bei einem Button dem man fest legt (Schau Code ich habe die Stehle Makiert) und ein wert wie i kann ich ich nciht eintragen dann kommt immer ein error das es nicht geht
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;
import java.util.Random;
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
JButton[] buttons = new JButton[36];
for (int i = 0; i < buttons.length; i++)
{ // []
buttons[i] = new JButton ("Test"); // []
frame.add(buttons[i]); //Hier muss was gemacht werden \/
buttons[i].addActionListener(e -> actionPerformed(e, buttons[6]));
}
//Random Button auslöser
JButton a = new JButton ("Random");
frame.add(a);
a.addActionListener(e -> buttons[new Random().nextInt(buttons.length)].doClick());
frame.setVisible(true);
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(() -> 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);
}
}