GUI Screenshot

Status
Nicht offen für weitere Antworten.
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:

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
 
G

Gast

Gast
Vielleicht X durch vv.getWidth() und Y durch vv.getHeight() auswechseln?
 
G

Guest

Gast
Bringt leider auch nichts....ich habe mal testhalber alle möglichen Größeneinstellungen (sowohl Höhe als auch Breite) auf 5000 Pixel gestellt und das hat auch nicht funktioniert.

Hier mal ein Screenshot, der das Problem vielleicht verdeutlicht:

bild1.jpeg
 

Marco13

Top Contributor
Er sieht keine Veranlassung, mehr zu zeichnen, als das, was in die Component reinpasst - und die IST nunmal nur so klein... (Siehe auch http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Component.html#paintAll(java.awt.Graphics) )

Es reicht aber schon,
vv.paint(g);
zu ersetzen durch
SwingUtilities.paintComponent(g,vv,new JPanel(),0,0,5000,5000);

Nur aus Neugier: Was ist das für ein Graph?
 
G

Guest

Gast
Hey perfekt!!! Vielen Dank. Die SwingUtilities übersehe ich immer.

Der Graph spiegelt die Freundschaften zwischen Benutzern einer Internetcommunity wieder.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JavaFX JavaFX Screenshot Machen AWT, Swing, JavaFX & SWT 6
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
F AWT Robot Klasse Screenshot nach Pixelmustern in bestimmten Radius um Bildschirmmittelpunkt absuchen AWT, Swing, JavaFX & SWT 13
K Screenshot AWT, Swing, JavaFX & SWT 6
A AWT Beim (mehrmaligen) Screenshot machen läuft der Speicher voll AWT, Swing, JavaFX & SWT 2
0 2D-Grafik Screenshot von ScrollBar-Inhalt AWT, Swing, JavaFX & SWT 2
N screenshot machen ohne Robots? AWT, Swing, JavaFX & SWT 9
F Screenshot vom Desktop machen? AWT, Swing, JavaFX & SWT 2
C JList: Eintrag anklicken & JTextfield mit Text aus MySQL füllen? (Screenshot dabei) AWT, Swing, JavaFX & SWT 8
T Screenshot ist verschoben. AWT, Swing, JavaFX & SWT 3
D Robot: Screenshot vom Desktop Hintergrund möglich ? AWT, Swing, JavaFX & SWT 3
H Screenshot abhängig von Grafikkarte? AWT, Swing, JavaFX & SWT 15
T Screenshot mit SWT AWT, Swing, JavaFX & SWT 5
A Screenshot eines best. Fensters AWT, Swing, JavaFX & SWT 5
R Screenshot von fremder Anwendung AWT, Swing, JavaFX & SWT 4
H Was ist das für eine Komponente ? (Screenshot) AWT, Swing, JavaFX & SWT 8
A Screenshot einer Anwendung erstellen AWT, Swing, JavaFX & SWT 14
M Bildschirnkoordinaten und Screenshot? AWT, Swing, JavaFX & SWT 2
R JPanel als Screenshot in eine Datei schreiben AWT, Swing, JavaFX & SWT 3
D Zoom problem!!! (brauche screenshot...) plz help thx AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben