canvas en un JFrame
Publicado por Leo99 (1 intervención) el 31/08/2006 23:45:39
hola a todos....
bueno soyun principiante en esto y tengo un pequeño problema y que no se como resolver y es el siguiente:
tengo que realizar un programa donde pueda dibujar a mano alzada, pero no puedo hacerlo en un applet, lo tengo que realizar en una ventana (JFrame), lo del dibujo ya esta, el problema es como hago para que el canvas quede dentro del JFrame osea que se visualize.... y obiviamente pueda dibujar.... aqui esta el codigo, ya he intentado miles de formas... aaaa lo del JComboBox es para los colores de la linea del dibujo, pero eso despues lo soluciono ;)
les agradesco la ayuda que me pudan dar
public class Dibujo extends JFrame {
JComboBox colores;
String s []={"Negro","Verde","Rojo","Azul" };
Cam c=new Cam();
public Dibujo() {
getContentPane().setLayout(null);
colores = new JComboBox(s);
colores.setBounds(new Rectangle(6, 10, 106, 15));
this.getContentPane().add(colores);
this.getContentPane().add(c);
}
public static void main(String[] args) {
Dibujo dibujo = new Dibujo();
dibujo.setSize(500,500);
dibujo.c.setVisible(true);
dibujo.setVisible(true);
}
class Cam extends Canvas implements MouseListener, MouseMotionListener {
Point pto[]=new Point [1000];
Point comienzo, fin;
int puntos=0;
boolean diblibre=false;
boolean presionado=false;
public Cam(){
addMouseListener(this);
addMouseMotionListener(this);
}
public void mousePressed(MouseEvent e){
presionado=false;
comienzo=new Point(e.getX(), e.getY());
}
public void mouseDragged(MouseEvent e){
if(diblibre){
pto[puntos]=new Point(e.getX(), e.getY());
puntos++;
repaint();
}
}
public void mouseReleased(MouseEvent event) {}
public void mouseExited(MouseEvent event) {}
public void mouseMoved(MouseEvent event) {}
public void mouseClicked(MouseEvent event) {}
public void mouseEntered(MouseEvent event) {}
public void piant(Graphics g){
if(diblibre){
for(int i=0; i<puntos-1; i++){
g.drawLine(pto[i].x, pto[i].y, pto[i+1].x, pto[i+1].y);
}
}
}
}
}
bueno soyun principiante en esto y tengo un pequeño problema y que no se como resolver y es el siguiente:
tengo que realizar un programa donde pueda dibujar a mano alzada, pero no puedo hacerlo en un applet, lo tengo que realizar en una ventana (JFrame), lo del dibujo ya esta, el problema es como hago para que el canvas quede dentro del JFrame osea que se visualize.... y obiviamente pueda dibujar.... aqui esta el codigo, ya he intentado miles de formas... aaaa lo del JComboBox es para los colores de la linea del dibujo, pero eso despues lo soluciono ;)
les agradesco la ayuda que me pudan dar
public class Dibujo extends JFrame {
JComboBox colores;
String s []={"Negro","Verde","Rojo","Azul" };
Cam c=new Cam();
public Dibujo() {
getContentPane().setLayout(null);
colores = new JComboBox(s);
colores.setBounds(new Rectangle(6, 10, 106, 15));
this.getContentPane().add(colores);
this.getContentPane().add(c);
}
public static void main(String[] args) {
Dibujo dibujo = new Dibujo();
dibujo.setSize(500,500);
dibujo.c.setVisible(true);
dibujo.setVisible(true);
}
class Cam extends Canvas implements MouseListener, MouseMotionListener {
Point pto[]=new Point [1000];
Point comienzo, fin;
int puntos=0;
boolean diblibre=false;
boolean presionado=false;
public Cam(){
addMouseListener(this);
addMouseMotionListener(this);
}
public void mousePressed(MouseEvent e){
presionado=false;
comienzo=new Point(e.getX(), e.getY());
}
public void mouseDragged(MouseEvent e){
if(diblibre){
pto[puntos]=new Point(e.getX(), e.getY());
puntos++;
repaint();
}
}
public void mouseReleased(MouseEvent event) {}
public void mouseExited(MouseEvent event) {}
public void mouseMoved(MouseEvent event) {}
public void mouseClicked(MouseEvent event) {}
public void mouseEntered(MouseEvent event) {}
public void piant(Graphics g){
if(diblibre){
for(int i=0; i<puntos-1; i++){
g.drawLine(pto[i].x, pto[i].y, pto[i+1].x, pto[i+1].y);
}
}
}
}
}
Valora esta pregunta


0