Hi Leute,
ich mach mir grad n kleines Programm mit Java mit dem ich Screenshots aufnehmen und bearbeiten kann. Funzt soweit auch einigermaßen, Problem ist nur das meine Anwendung auch auf dem Screenshot zu sehen ist. Habs schon mit dem Aus- und Einblenden meiner Anwendung versucht, klappt aber irgendwie nicht. Hat jemand ne Idee? Hier mein Code (betreffende Stellen):
// Mein Screenshot-Machen-Button
private void SMachenButtonActionPerformed(java.awt.event.ActionEvent evt) {
// Blendet mein ScreenshotProgg aus
Screenshot.this.setVisible(false);
try {
// Screenshot in Buffered Image
BufferedImage bi = new Robot().createScreenCapture(
new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
// ImageComponente erstellen ( Extra Klasse )
Graphics g = bi.createGraphics();
ImageComponent c = new ImageComponent();
// Image festlegen
c.setImage(bi);
// Image malen lassen
c.paintComponent(g);
// Die Image Componente in die ScrollPane einfügen
scrollPane.setViewportView(c);
// ScreenshotProgg wieder einblenden
Screenshot.this.setVisible(true);
// Exception für Faule
} catch (Exception e) {
System.out.println("Abbruch");
}
}
ImageComponent Klasse
class ImageComponent extends JComponent
{
public BufferedImage image;
public void setImage( BufferedImage image )
{
System.out.println("setImage");
this.image = image;
setPreferredSize( new Dimension(image.getWidth(), image.getHeight()) );
repaint();
invalidate();
}
@Override
protected void paintComponent( Graphics g )
{
System.out.println("paint");
if ( image != null )
g.drawImage( image, 0, 0,400,300, this );
}
}
Grüße!