Como graficar en un JPANEL

200 views
Skip to first unread message

Battousai

unread,
Nov 27, 2008, 10:19:50 AM11/27/08
to JavaSOS
Buen día antetodo.
Weno quiero graficar una funcion, mi problema radica en que buscando
ejemplos en internet encontre uno hecho todo en una JavaClass y mi
aplicacion esta en un Visual JFrame asi que no se como adaptar a mi
código esta parte:

public void paintComponent(Graphics g)

{

super.paintComponent(g); // clear to background
color

Graficar(g);

}



void Graficar(Graphics ap)

{
...
}

bien este metodo le pertenece a una clase graphicpanel que hereda de
panel y ha sido "personalizada" al intentar "migrarlo" a mi aplicacion
eh tenido que modificar el super ya q mi clase actual es un frame y yo
kiero pintar sobre un JPANEL llamado PAnelDibujo.

public void paint(Graphics g)
{
Graphics gp = Graficar(g);
PanelDibujo.paint(gp);

}

private Graphics Graficar(Graphics ap)
{
}

Pero esto logro funcionar pero la grafica la realiza fuera del JPanel,
y al iniciar el formilario, lo que necesito es que lo dibuje dentro
del PanelDibujo y cuando ejecute el MouseClicked d mi boton Calcular.
Espero que puedan ayudarme por favor ... muchas gracias.

Battousai

unread,
Nov 29, 2008, 12:02:59 PM11/29/08
to JavaSOS
HOla bueno eh logrado solucionar mi problema y lo publicare para
aquellos q puedan tener este problema tmbn . Resulto ser algo
sencillo:

lo unico que hice fue eliminar el médtodo void paintComponent y solo
eh trabajado con el void Graficar() el cual en resumidas cuentas
debe ser asi:

private void Graficar( )
{
Graphics ap = PanelDibujo.getGraphics(); // aki obtengo
la "grafica del panel" y puedo trabajar con ella en adelante.
//por ejemplo:
Graphics2D g = (Graphics2D) ap;
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g.setPaint(new Color(0,0,150)); // le doy color a la
grafica
g.draw(new Line2D.Double(50, 10, 50, 200)); // para
graficar una linea una línea
}

ya luego simplemente llamo a este método en un boton por ejemplo:

private void btndibujarMouseClicked(actioon. ... )
{
Graficar();
}


y eso fue todo... weno gracias de todas maneras .. hasta luego :D
Reply all
Reply to author
Forward
0 new messages