G
Guest
Gast
Guten Tag,
ich habe folgendes Problem: Ich lasse mir mithilfe des JUNG Framework (http://jung.sourceforge.net/) Graphen in einem Fenster ausgeben und würde gerne davon Screenshots machen. Bis jetzt nutze ich dazu folgenden Code:
vv ist dabei eine von JPanel erbende Klasse.
Der Code funktioniert auch bestens für meine Bildschirmgröße....ich würde mir aber gerne ein Fester aufbauen lassen, dass 3-4x größer als meine Bildschirmgröße ist, um die sehr dichten Graphen etwas entzerren zu können und die Screenshots mit höherer Auflösung versehen zu können. Das Vergrößern der Swing-Komponenten und des Bildes funktionieren auch, allerdings werden trotzdem wieder nur die Pixel im Sichbereich gespeichert. Gibt es da eine Möglichkeit auch Komponenten "über" den Sichtbereich hinaus speichern zu lassen?
Vielen Dank schon mal,
JK
ich habe folgendes Problem: Ich lasse mir mithilfe des JUNG Framework (http://jung.sourceforge.net/) Graphen in einem Fenster ausgeben und würde gerne davon Screenshots machen. Bis jetzt nutze ich dazu folgenden Code:
Code:
private void makeScreenshot(){
JFileChooser fc = new JFileChooser();
fc.setSelectedFile(new File(System.getProperty ("user.dir") + "\\bild1.jpeg"));
int returnVal = fc.showSaveDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION && !fc.getSelectedFile().isDirectory()){
bildbeschriftung.setVisible(true);
BufferedImage bi = (BufferedImage) vv.createImage(X,Y);
Graphics2D g = bi.createGraphics();
vv.paintAll(g);
try{
ImageIO.write(bi, "jpg", fc.getSelectedFile());
}catch(Exception e){
e.printStackTrace();
}
bildbeschriftung.setVisible(false);
}
}
vv ist dabei eine von JPanel erbende Klasse.
Der Code funktioniert auch bestens für meine Bildschirmgröße....ich würde mir aber gerne ein Fester aufbauen lassen, dass 3-4x größer als meine Bildschirmgröße ist, um die sehr dichten Graphen etwas entzerren zu können und die Screenshots mit höherer Auflösung versehen zu können. Das Vergrößern der Swing-Komponenten und des Bildes funktionieren auch, allerdings werden trotzdem wieder nur die Pixel im Sichbereich gespeichert. Gibt es da eine Möglichkeit auch Komponenten "über" den Sichtbereich hinaus speichern zu lassen?
Vielen Dank schon mal,
JK