Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2012, 02:54
Avatar de yadderace
yadderace
 
Fecha de Ingreso: marzo-2012
Mensajes: 12
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Como hacer funcionar el método paintComponent

Tengo este código:

Código:
import javax.swing.JPanel;
 import java.awt.Color;
 import java.awt.Graphics;


public class Pie extends JPanel {
	int numQ,numD,numE,total;
    
    public Pie(int numQ,int numD,int numE) {
    	this.numQ=numQ;
    	this.numD=numD;
    	this.numE=numE;
    	this.total=numQ+numD+numE;
    	this.setVisible(true);
    }

    
    public void paintComponent(Graphics g){
    	super.paintComponent(g);
    	int grad=(numQ*360)/total;
    	g.setColor(Color.BLUE);
    	g.fillArc(0,0,100,100,0,grad);
    	
    	int gradDos=(numD*360)/total;
    	g.setColor(Color.WHITE);
    	g.fillArc(0,0,100,100,grad,grad+gradDos);
    	
    	g.setColor(Color.LIGHT_GRAY);
    	g.fillArc(0,0,100,100,grad+gradDos,360);
    	
    
    }
}
Y desde otra clase externa, existe este método:

Código:
public void HacerPie(int monQ,int monD,int monE){
    	JFrame marco=new JFrame("Reporte Estadistico");
    	marco.setResizable(false);
    	marco.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    	marco.setLayout(null);
    	marco.setSize(400,350);
    	marco.setLocationRelativeTo(null);
    
    
    	Pie panelPie=new Pie(monQ,monD,monE);
    	marco.add(panelPie);
    	marco.setVisible(true);
    }
    }
Al parecer, el problema consiste en que no se ejecuta el metodo paintComponent del programa, ya que no dibuja ningun arco. Además pues un System.out.println dentro de ese mismo método y tampoco aparece el mensaje que escribi. Es por ello que induzco que algo esta mal en el método.

Alguien que me heche una mano