Guten Morgen zusammen!
Ich möchte ein JPanel in ein Image umwandeln. Ich denke die Grundfunktion stimmt, jedoch habe ich Probleme damit, das es nicht sichtbar sein soll.
Die Klasse zu der die folgende Methode gehört wird von JPanel abgeleitet und zeichnet die Streifen im Hintergrund. cp ist ein ChartPanel von JFreeChart und wird zu Beginn auf das eigene JPanel geaddet:
Das Problem an der Sache ist, dass ich das JFrame nicht Visible setzen möchte. Allerdings funktioniert die Bildausgabe nur mit einem sichtbaren JFrame. Mit setVisible(false); sieht es nicht so toll aus... siehe Anhang
Vielen Dank für Ideen, Hilfen und Ratschläge.
Mit freundlichem Gruß,
Phillip
Ich möchte ein JPanel in ein Image umwandeln. Ich denke die Grundfunktion stimmt, jedoch habe ich Probleme damit, das es nicht sichtbar sein soll.
Die Klasse zu der die folgende Methode gehört wird von JPanel abgeleitet und zeichnet die Streifen im Hintergrund. cp ist ein ChartPanel von JFreeChart und wird zu Beginn auf das eigene JPanel geaddet:
Java:
public BufferedImage getBufferedImage(int width, int height){
setSize(width, height);
setPreferredSize(new Dimension(width, height));
cp.setOpaque(false);
JFrame frame = new JFrame();
frame.setBackground(Color.black);
frame.setSize(width, height);
frame.add(this);
frame.setVisible(true);
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
doLayout();
repaint();
revalidate();
frame.print(image.getGraphics());
//frame.setVisible(true);
//frame.setVisibile(false);
return image;
}
Das Problem an der Sache ist, dass ich das JFrame nicht Visible setzen möchte. Allerdings funktioniert die Bildausgabe nur mit einem sichtbaren JFrame. Mit setVisible(false); sieht es nicht so toll aus... siehe Anhang
Vielen Dank für Ideen, Hilfen und Ratschläge.
Mit freundlichem Gruß,
Phillip
Anhänge
Zuletzt bearbeitet: