Hola, estoy dando mis primeros pasos para crear un applet que haga algo parecido al Paint. He creado lo básico y ya tengo problemas debido a que no controlo mucho. Os explico:
El applet carga una imagen vacía y dibujo sobre ella. Para ello escribo:
import java.applet.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
public class rgrafica extends Applet implements MouseMotionListener{
Image img;
Graphics grafico;
public void init() {
img = createImage(400,400);
grafico = img.getGraphics();
setBackground(Color.gray);
grafico.setColor(Color.red);
addMouseMotionListener(this);
}
public void mouseMoved(MouseEvent e){}
public void mouseDragged(MouseEvent e){
int x = e.getX();
int y = e.getY();
grafico.fillOval(x-5,y-5,10,10);
repaint();
e.consume();
}
public void paint( Graphics g ) {
g.drawImage(img,25,25,this);
}
}
Esto funciona bien pero yo quiero dibujar sobre "una imagen" y no sobre "una imagen vacía". Para cargar una imagen he visto esto:
img = getImage(getDocumentBase(),"applets/plantilla.jpg");
Pero de esta forma no consigo dibujar encima ya que no puedo crear el Gráfico. Mirando las apis he visto que en:
Con java.awt.Component puedo utilizar:
img = createImage(400,400);
grafico = img.getGraphics();
pero que al utilizar getImage() estoy usando la clase java.awt.Toolkit y en esta clase no viene método getGraphics().
¿Sabeis alguna manera para poder cargar una imagen y poder modificar sobre ella? ¿Tengo que emplear otro tipo de datos?
Un saludo.