De echo no me ejecuta el método paintComponent y no se porque. Son tres Panel metidos dentro de un Frame, dos Panels se ejecutan al iniciar la aplicación, pero el Panel de dibujar se tiene que ejecutar al darle al botón de calcular. Me interesa que la ZonaGraficaArc() sea una clase porque después le implementare métodos para mover el gráfico con el ratón.
Os pongo el código por si alguien ve el problema.
Gracias.
Código
import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*; JButton btnCalcular; FinestraAppDib frame = new FinestraAppDib(); frame.setVisible(true); } public FinestraAppDib() { setSize(800,600); Dades(); } btnCalcular.addActionListener(this); } public void Dades(){ Dades.add(textField); textField.setColumns(10); } public void DibuixArc(){ DibuixArc=new ZonaGraficaArc(); DibuixArc.setVisible(true); repaint(); } int offsetX, offsetY; boolean dragging; @Override super.paintComponent(g); g.drawLine(900, 600, 0, 0); }//END paintComponent ZonaGraficaArc(){ DibuixArc.validate(); repaint(); } }//END ZonaGraficaArc @Override DibuixArc(); } }