Java - Dibujar lineas en un JPanel

 
Vista:

Dibujar lineas en un JPanel

Publicado por Alma (6 intervenciones) el 16/05/2003 00:42:03
Hola...

Podrían ayudarme a dibujar una linea en un JPanel que está dentro de un JFrame...

Conseguí un codigo que dibuja lineas en un JFrame, pero lo hace sobreescribiendo el metodo paint() del JFrame. En mi caso yo tengo un JPanel dentro del JFrame y no se como sobreescribir el metodo paint() del JPanel, porque a lo que lo hago sobreescribo es el del JFrame.

Anexo el codigo que conseguí, como podría adaptarlo para que dibuje lineas en un JPanel que este dentro del JFrame...

Gracias de antemano

//***********************************************************************//
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Lines4 extends JFrame implements MouseListener, MouseMotionListener {

private int startx = 200;
private int starty = 200;

private JLabel statusBar;
private Road roads[];

private static final int roadLength = 100;
private static final int circleRadius = 4;

private Road movingRoad;

public Lines4() {
super("Lines4");

String ret = JOptionPane.showInputDialog("How many lines are there?");
int numPoints = Integer.parseInt( ret );
double factor = 2.0 * Math.PI / ( numPoints ) ;

roads = new Road[numPoints];

for (int i=0; i<numPoints; i++){
int x = (int)( roadLength * Math.cos( factor * i ) );
int y = (int)( roadLength * Math.sin( factor * i ) );
roads[i] = new Road( i, startx, starty, circleRadius, startx+x, starty+y );
}

addMouseListener(this);
addMouseMotionListener(this);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dibujar lineas en un JPanel

Publicado por Oscar (661 intervenciones) el 16/05/2003 05:08:32
Has una subclase de JPanel donde sobreescribas el metodo paint

class PanelLinea extends JPanel {
// blahblahblah

public void paint(Graphics g) {
super.paint(); // Para que se dibuje el mismo
// aqui puedes poner el codigo para dibujar lo que sea
} // fin paint()

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar