JAVA + Swing Viewport ausdrucken
Übersicht Andere Programmiersprachen Allgemein
the FR3AKBetreff: JAVA + Swing Viewport ausdrucken |
Mo, Apr 29, 2013 9:33 Antworten mit Zitat |
|
---|---|---|
Hallo,
ich habe ein JPanel, dessen Inhalt ich drucken möchte, der Inhalt dieses Panels kann vergrößert und verkleinert werden, indem man mit dem Mausrad hoch oder runterscrollt. Wenn der Inhalt größer als das Panel ist, erscheinen am Rand Scrollbars mit denen ich die Ansicht horizontal sowie vertikal verschieben kann. Nun möchte ich immer den aktuell angezeigten Bereich ausdrucken. Ich habe es schon hinbekommen, dass der Angezeigte Bereich gedruckt wird, jedoch wird der X/Y-Versatz im Falle, dass man gescrollt hat, nicht berücksichtigt. Meine Frage ist deshalb, wie kann ich die Scrollposition herausfinden und richtig verrechnen? Hier der Code der print Methode: Code: [AUSKLAPPEN] public int print(Graphics pg, PageFormat pf, int pageNum)
{ if (pageNum > 0) { return Printable.NO_SUCH_PAGE; } Graphics2D g2 = (Graphics2D) pg; JPanel da = RGFrame.exemplar().getRgDrawingArea(); JScrollPane sp = RGFrame.exemplar().getRgScrollPane(); double x = pf.getImageableX(); double y = pf.getImageableY(); double w = pf.getImageableWidth(); double h = pf.getImageableHeight(); double sx= w/sp.getWidth(); double sy= h/sp.getHeight(); g2.translate(x,y); g2.scale(sx, sy); da.paint(g2); return Printable.PAGE_EXISTS; } Ich denke ich muss an den Parametern für g2.translate herumschrauben, aber wie? Danke für eine Antwort. |
||
Übersicht Andere Programmiersprachen Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group