Hi,
ich habn Applet mit nem JFrame, wo man den Inhalt mit itext als PDF exportieren kann. Damit der Container neu geladen wird, habe ich den einfach noch mal übergeben. Nur wird er erst dann angezeigt, wenn ich das Fenster kurz minimiere und wieder auf die ursprüngliche Größe setze. Kann ich dieses aktualiesieren irgendwie anders steuern? Ich meine bei nem Browser aktualisiert man die Seite ja auch durch return null. Geht das bei nem Frame auch?
Hier mal meine Methode:
LG Sabine
ich habn Applet mit nem JFrame, wo man den Inhalt mit itext als PDF exportieren kann. Damit der Container neu geladen wird, habe ich den einfach noch mal übergeben. Nur wird er erst dann angezeigt, wenn ich das Fenster kurz minimiere und wieder auf die ursprüngliche Größe setze. Kann ich dieses aktualiesieren irgendwie anders steuern? Ich meine bei nem Browser aktualisiert man die Seite ja auch durch return null. Geht das bei nem Frame auch?
Hier mal meine Methode:
Java:
public void writeGraphToPDF() {
int width = visualv.getGraphLayout().getSize().width;
int height = visualv.getGraphLayout().getSize().height;
Document document = new Document();//create a new document
visualv.setSize(visualv.getGraphLayout().getSize());
Container c = new Container();
c.add(visualv);
c.addNotify();
c.validate();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("MyFile.pdf"));
document.setPageSize(new Rectangle((int) (width * 1.1), (int) (height * 1.1)));
document.open();//start document
PdfContentByte cb = writer.getDirectContent();//write everything on top of the text
PdfTemplate tp = cb.createTemplate((int) (width * 1.08), (int) (height * 1.08));
Graphics2D g2 = tp.createGraphics((int) (width * 1.05), (int) (height * 1.05));
c.paintComponents(g2);
g2.dispose();
tp.sanityCheck();
cb.addTemplate(tp, 0, 0);
cb.sanityCheck();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
document.close();
final GraphZoomScrollPane scroll = new GraphZoomScrollPane(visualv);
Container content = getContentPane();
content.add(scroll);
}
LG Sabine