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:
poi ho creato una classe che estende JFrame in cui incollo un oggetto Cerchio e un main che esegue il tutto.... helpcodice: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); } } }![]()


Rispondi quotando
ci sto dando un occhiata! però nel codice che ho scritto di mouseClicked non succede proprio niente!!!! ho provato anche a mettere un System.out.println("coordinata x: "+e.getX()+"coordinata y: "+e.getY()) però non segna niente su console.......
