24/11/2005, 09:48
|
| | | Fecha de Ingreso: octubre-2004 Ubicación: Bolivia
Mensajes: 826
Antigüedad: 20 años, 2 meses Puntos: 1 | |
applet's no repinta holas a todos aqui les paso el cod y al final les digo q me falla espero me podais ayudar saludos
Código:
/*
* 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);
}
}
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????
gracias
saludos
__________________ :pensando: Tú no necesitas un libro mágico, un gurú carismático, rituales primitivos. Sólo necesitas tus cinco sentidos.:adios: |