Lasst ihn doch die Buttons als Arrays verwenden, wenn er will.
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Main extends JFrame implements MouseListener
{
JButton buttons[];
Color colors[];
final int count = 20;
public Main()
{
super("JButton-Farben");
setSize(450, 450);
addWindowListener(new WindowAdapter() { public void windowClosing(final WindowEvent evt) { System.exit(0); } });
buttons = new JButton[count];
colors = new Color[count];
getContentPane().setLayout(new GridLayout(count, 1));
for (int i=0; i<count; i++)
{
buttons[i] = new JButton("Button " + (i+1));
buttons[i].addMouseListener(this);
getContentPane().add(buttons[i]);
int rgb = (int)((255 / count) * i);
colors[i] = new Color(rgb, rgb, rgb);
}
}
public void mousePressed (MouseEvent evt)
{
for (int i=0; i<count; i++)
{
if (evt.getSource().equals(buttons[i]))
{
buttons[i].setBackground(colors[i]);
return;
}
}
}
public void mouseMoved (MouseEvent evt) {}
public void mouseExited (MouseEvent evt) {}
public void mouseClicked (MouseEvent evt) {}
public void mouseDragged (MouseEvent evt) {}
public void mouseReleased (MouseEvent evt) {}
public void mouseEntered (MouseEvent evt) {}
public static void main (String args[])
{
new Main().show();
}
}
Lesezeichen