Hola, estoy con un programa para la universidad y no consigo que al darle a al botón calcular me dibuje en la zona blanca.
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.
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
public static void main
(String[] args
) { FinestraAppDib frame = new FinestraAppDib();
frame.setVisible(true);
}
public FinestraAppDib() {
setExtendedState
(JFrame.
MAXIMIZED_BOTH); setDefaultCloseOperation
(JFrame.
EXIT_ON_CLOSE); setSize(800,600);
Dades();
}
btnCalcular
= new JButton("Calcular"); btnCalcular.addActionListener(this);
}
public void Dades(){
Dades.add(textField);
textField.setColumns(10);
}
public void DibuixArc(){
DibuixArc=new ZonaGraficaArc();
DibuixArc.setVisible(true);
repaint();
}
class ZonaGraficaArc
extends JPanel{
int offsetX, offsetY;
boolean dragging;
@Override
public void paintComponent
(Graphics g
) {
super.paintComponent(g);
g.drawLine(900, 600, 0, 0);
System.
out.
println("Hola paintComponent(Graphics g)");
}//END paintComponent
ZonaGraficaArc(){
DibuixArc.
setBackground(Color.
white); System.
out.
println("Hola ZonaGraficaArc()"); DibuixArc.validate();
repaint();
}
}//END ZonaGraficaArc
@Override
DibuixArc();
}
}