// JavaProject ColoredGrid
![ColoredGrid.java](../images/coloredgrid.jpg)
// ColoredGrid.java
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.GridLayout;
import javax.swing.*;
class CMenuBar extends JMenuBar implements ActionListener {
private static final long serialVersionUID = 0L;
JMenu start;
JMenuItem start_dye;
JMenuItem start_clear;
CFrame cfr;
public CMenuBar(CFrame cfr) {
this.cfr = cfr;
start = new JMenu("Start");
add(start);
start_dye = new JMenuItem("Färben");
start_dye.addActionListener(this);
start.add(start_dye);
start_clear = new JMenuItem("Löschen");
start_clear.addActionListener(this);
start.add(start_clear);
}
public void actionPerformed(ActionEvent object) {
if (object.getSource() == start_dye) cfr.dyePanels();
if (object.getSource() == start_clear) cfr.clearPanels();
}
}
class CFrame extends JFrame {
private static final long serialVersionUID = 0L;
Image icon;
CMenuBar menubar;
JPanel[] panels; //
Arrays
Color bgcol;
public CFrame() {
setTitle("Bunte Kacheln");
icon = Toolkit.getDefaultToolkit().getImage("dh.png");
setIconImage(icon);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(349, 301);
setLocationRelativeTo(null);
menubar = new CMenuBar(this);
setJMenuBar(menubar);
setBackground(Color.WHITE);
setLayout(new GridLayout(6, 4, 2, 2));
bgcol = new Color(230, 230, 230);
panels = new JPanel[24];
for (int i=0; i<24; i++) { //
Schleifen
panels[i] = new JPanel();
panels[i].setBackground(bgcol);
add(panels[i]);
}
setVisible(true);
}
public void dyePanels() {
int r, g, b;
for (int i=0; i<24; i++) {
r = (int) (255*Math.random()); //
Typumwandlungen
g = (int) (255*Math.random());
b = (int) (255*Math.random());
Color newcol = new Color (r, g, b);
panels[i].setBackground(newcol);
}
}
public void clearPanels() {
for (int i=0; i<24; i++) {
panels[i].setBackground(bgcol);
}
}
}
public class ColoredGrid {
public static void main(String[] args) {
new CFrame();
}
}
Download ColoredGrid