Código:
bueno espero q les haya sido sencillo con los comentarios, lo q quiero hacer es q cuando la variable primera sea igual a false el aplet sea verde sin ninguna linea solo verde lista para dibujar con el mouse, ya inetente de mil manera y no logro hacerlo espero me pueda ayudar, otra cosita mas, cuando ejecuto el applet en un browser esta todo ok pero si pinto algo y habro cualquier otra ventana o aplicacion se borra lo pintado, alguien sabe puede ser por q sucede esto????/* * Dibujo.java * * Created on 18 de noviembre de 2005, 22:33 * * Dibujo es un applet que pinta con los movimientos del mouse * diseños no predeterminados a gusto del usuario en un Browser */ /** * * @version:1.1 */ import java.awt.event.*; import java.awt.*; import java.applet.*; /** *La clase Dibujo contiene los metodos main e init primordiales *para la visualizacion del applet en el Brouser * */ public class Dibujo extends Applet implements MouseListener,MouseMotionListener{ Panel panel; int x1,y1; boolean primera=true; //Label label1,label2,label3,label4; // poniendo el panel de dibujo dentro del metodo init para que // lo inicialice al ejecutar el applet en el Brouser public void init() { panel = new Panel(); setBackground(Color.GREEN); addMouseMotionListener(this); addMouseListener(this); //setLayout(new BorderLayout()); //add("Center", panel); } /** * Metodo main de creacion y carga del applet **/ /*public static void main(String args[]) { Dibujo dibujo = new Dibujo(); dibujo.init(); }*/ /** *implementando metodo mouseDragged para agarrar el evento *de que cuando se mueva el raton y pinte en el area de diseño * *las variables x1,y1 son las q gurdan las posiciones del mouse *para dibujar en el area de diseño. * *La llamada al metodo repaint(); es para repintar el *area de diseño */ public void mouseDragged(MouseEvent e) { x1 = e.getX(); y1 = e.getY(); repaint(); } public void mouseMoved(MouseEvent e) { } /** *implementando metodo mousePressed para agarrar el evento *de que cuando se presione el raton y pinte en el area de diseño * *las variables x1,y1 son las q gurdan las posiciones del mouse *para dibujar en el area de diseño. * *y la llamada al metodo repaint(); es para repintar el *area de diseño */ public void mousePressed(MouseEvent e) { primera=false; setBackground(Color.GREEN); x1 = e.getX(); y1 = e.getY(); repaint(); } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } /** *metodo paint donde se crea el dijujo a pintarse en el area de diseño *en este caso pinta un ovalo de color negro, en las posiciones *x1,y1, q corresponden a las posisiones del mouse *con 10 pixeles de alto y ancho * *@param : Graphics g */ public void paint(Graphics g) { if(primera==true){ g.drawString("PRESIONE EL MOUSE PARA DIBUJAR",100,20); g.setColor(Color.black); g.fillOval(x1,y1,10,10); g.drawString("despues de hacer clic debe quedar pantalla verde",10,300); g.drawString(""+primera,10,10); } if(primera==false){ g.setColor(Color.black); g.fillOval(x1,y1,10,10); g.drawString(""+primera,10,20); } } /** *metodo update que actualiza el area del grafico despues de *un evneto y deja el area de diseño lista como quedo despues *de la ultima accion para seguir trabajando sobre el * *@param : Graphics g * **/ public void update (Graphics g) { paint(g); } }
gracias
saludos