Buonasera a tutti, sono alle prime armi con Java e sto tentando, in poche parole, di creare una finestra, all'interno della quale vi sia un JButton e un'area di disegno. Cliccando sul JButton la figura (geometrica di base) deve cambiare da rettangolo a cerchio. Il mio codice non funziona, ve lo posto qui:
La finestra
Il codice per disegnare il rettangolocodice:import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.ObjectInputStream.GetField; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Finestra extends JPanel{ public static void main(String[] args) { JFrame window = new JFrame("Finestra"); window.setLayout(new FlowLayout()); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setSize(500, 500); JButton Ridisegna = new JButton("Cambia figura"); Ridisegna.addActionListener(new ActionListener() { Rettangolo rettangolo = new Rettangolo(); @Override public void actionPerformed(ActionEvent e) { window.getContentPane().removeAll(); window.getContentPane().add(rettangolo); //window.getContentPane().validate(); } }); //window.getContentPane().add(new Rettangolo()); window.add(Ridisegna); window.setVisible(true); } }
codice:import java.awt.Color; import java.awt.Graphics; import javax.swing.JComponent; public class Rettangolo extends JComponent{ public void paint(Graphics g) { super.paintComponent(g); g.drawRect (10, 10, 200, 200); //g.setColor(Color.red); } }
e infine quello che disegna il cerchio...
Per facilitare la comprensione del codice, in particolare di dove sia l'inizio e la fine delle classi ho messo titoli in neretto...codice:import java.awt.Graphics; import javax.swing.JComponent; import javax.swing.JPanel; public class Cerchio extends JComponent{ public void cerchio(Graphics g) { super.paintComponent(g); g.drawOval (10, 10, 200, 200); } }
Grazie per l'aiuto,
ciao a tutti!
e Buone feste!![]()


Rispondi quotando
