Mahlzeit Community.
Habe folgendes Problem und zwar funktioniert bei mir der Gradient oder das repaint(); nicht.
Hab schon vieles versucht aber ich lauf ständig vor die Wand.
Und hier der Zeichen Panel
Habe folgendes Problem und zwar funktioniert bei mir der Gradient oder das repaint(); nicht.
Hab schon vieles versucht aber ich lauf ständig vor die Wand.
Java:
public class GUI
{
JFrame frame;
JButton button;
public static void main(String[] args)
{
GUI gui = new GUI();
gui.create();
}
public void create()
{
// Frame
frame = new JFrame();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(500, 500);
// Button
button = new JButton("Wechsel Farbe vom Objekt");
button.addActionListener(new ColorListener());
ZeichenPanel zeichPan = new ZeichenPanel();
frame.getContentPane().add(BorderLayout.SOUTH, button);
frame.getContentPane().add(BorderLayout.CENTER, zeichPan);
}
class ColorListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent event)
{
frame.repaint();
System.out.println("Gedrückt!");
}
}
}
Und hier der Zeichen Panel
Java:
public class ZeichenPanel extends JPanel
{
public void paintComponent(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
super.paintComponent(g2d);
// Farben Verarbeitung
int rot = (int) Math.random() * 255;
int gruen = (int) Math.random() * 255;
int blau = (int) Math.random() * 255;
Color FarbAnfang = new Color(rot, gruen, blau);
rot = (int) Math.random() * 255;
gruen = (int) Math.random() * 255;
blau = (int) Math.random() * 255;
Color EndFarbe = new Color(rot, gruen, blau);
// Zeichnen
GradientPaint gradient = new GradientPaint(70, 70, FarbAnfang, 150, 150, EndFarbe);
g2d.setPaint(gradient);
g2d.fillOval(70, 70, 100, 100);
}
}