Hola a tod@s !!mi duda es la siguiente, tengo que hacer un applet en java que muestre en mi navegador una gráfica y pueda ir controlando eventos con el ratón es decir, que haga "click" en un punto y me salga un determinado mensaje.
El problema es que la gráfica la genero en una función del applet y la almaceno en un archivo temporal. Al tratar de mostrarla mediante el applet, no me aparece nada. Intento hacerlo en el método stop, pero tampoco.
Solo me funciona, si la muestro al pulsar un botón, a través de PHP.
Es la primera vez que trabajo con applets y estoy un poco perdida, incluso no se si esta es la mejor manera de resolver lo que quiero hacer.
Os dejo parte del código:
- Clase de mi applet:
public class applet extends Applet implements MouseListener{
Image imagen=null;
public void main(String[] args) {
try {
openCMD();
} catch (IOException e) {}
}
public void init() {
setBackground(Color.WHITE);
}
public void start() {
try {
openCMD(); // en esta función es donde genero la gráfica
addMouseListener(this);
} catch (IOException e) {}
}
public void stop(Graphics g) {
g.drawImage(imagen, 0, 0, this);
}
//Se llama después del init
public void paint(Graphics g) {
// aunque lo ponga aquí no me aparece nada.
//g.drawImage(imagen, 0, 0, this);
}
//Procesa el evento MousePressed MouseListener
public void mousePressed (MouseEvent evt) {
// por ahora no tengo nada, porque no me sale la imagen :S
}
//No estamos usando los otros eventos del mouse.
public void mouseClicked (MouseEvent e) { }
public void mouseEntered (MouseEvent e) { }
public void mouseExited (MouseEvent e) { }
public void mouseReleased (MouseEvent e) { }
public void openCMD() throws IOException {
// No puse el código donde se genera la imagen porque es muy largo , pero
// la imagen se almacena correctamente en un temp.
}
// Mi código de php: por ahora tengo el botón para ver la gráfica pero la idea sería mostrarla desde el applet, no como lo tengo ahora.
echo '<form method="GET" action="'.$CFG->wwwroot.'/blocks/rgraphics/applet/recta.png">';
echo '<applet CODE="applet.class" ARCHIVE="applet.jar" codebase="'.$CFG->wwwroot.'/blocks/rgraphics/applet" WIDTH=150 HEIGHT=25">';
echo '</applet>';
echo '<input type="submit" name="Mostrar" value="Mostrar Grafica">';
echo '</form>';
Muchas muchas gracias, de antemano. Agradeceré mucho cualquier idea porque estoy bloqueada. Un saludo !!