Ciao a tutti
vorrei scrivere un semplice programma che tramite la pressione di un JButton cambia il colore di un oggetto 2D (in questo caso un cerchio). ecco il codice:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
/**
*
* @author Rug
*/
public class Cerchio extends JPanel implements ActionListener{
private int xmin,ymin;
private Color colore;
private Graphics g;
public Cerchio(int xmin, int ymin ){
this.colore = Color.BLUE;
this.xmin = xmin;
this.ymin = ymin;
JButton but = new JButton("Cambia colore");
add(but);
but.addActionListener(this);
}
public Color getColor(){
return this.colore;
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(this.colore);
g.fillOval(this.xmin, this.ymin, 30, 30);
}
//qui c'è l'errore: non ho capito come funzionano gli oggetti Graphics.....
@Override
public void actionPerformed(ActionEvent e) {
if(this.colore == Color.BLUE){
this.colore = Color.YELLOW;
paintComponent(g);
}
if(this.colore == Color.YELLOW){
this.colore = Color.BLUE;
paintComponent(g);
}
}
}
poi ho creato una classe che estende JFrame in cui incollo un oggetto Cerchio e un main che esegue il tutto.... help