Guten Abend zusammen,
Ich bin gerade dabei ein kleines Zeichenprogramm zu schreiben und bin jetzt auf folgendes Problem gestossen:
Beim Versuch meine Zeichnung abzuspeichern wird nicht die komplette Zeichnung abgespeichert, sondern nur ein Fenster mit der entsprechenden Hintergrundfarbe.
Bin momentan völlig ratlos und weiß nicht wo mein Fehler liegt.
Über Eure Hilfe würde ich mehr sehr freuen
MfG whitemagicxx
Ich bin gerade dabei ein kleines Zeichenprogramm zu schreiben und bin jetzt auf folgendes Problem gestossen:
Beim Versuch meine Zeichnung abzuspeichern wird nicht die komplette Zeichnung abgespeichert, sondern nur ein Fenster mit der entsprechenden Hintergrundfarbe.
Bin momentan völlig ratlos und weiß nicht wo mein Fehler liegt.
Über Eure Hilfe würde ich mehr sehr freuen
MfG whitemagicxx
Code:
// Dem Menü - Item "speichern" wird ActionListener zugewiesen
speichern.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt) {
speichernActionPerformed(evt);
}
});
//..........
public void speichernActionPerformed(ActionEvent evt){
try
{
panel.dateiErstellen(panel,"c:/testDatei.png");
}
catch(Exception ex)
{ }
}
//.........
public BufferedImage bildErstellen(Component component)
{
BufferedImage image = new BufferedImage(component.getWidth(), component.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics g =image.getGraphics();
g.setColor(component.getBackground());
g.fillRect(0, 0, image.getWidth(), image.getHeight());
component.print(g);
g.dispose();
return image;
}
/*
* Generate jpg
*/
public void dateiErstellen(Component component, String filename)
throws IOException
{
dateiErstellen(component, new File(filename));
}
public void dateiErstellen(Component component, File file) throws IOException
{
BufferedImage image = bildErstellen(component);
ImageIO.write(image, "png", file);
}
//......