2 Stimmen

Drucken in Java Swing-Komponenten

Ich habe Klasse PrintUtilities die über die folgende Methode zum Drucken von JPanel und seinen Unterkomponenten verfügt:
public int print(Graphics g, PageFormat pageFormat, int pageIndex)

Es gibt ein JLabel innerhalb des JPanels, das rechtsbündig ist, und das Problem ist, dass die gedruckte Kopie die letzte Ziffer im JLabel abschneidet. Ich kann es zentriert ausrichten und der Druck funktioniert, aber ich möchte nicht ändern, wie es auf dem Bildschirm angezeigt wird.

Gibt es also eine Möglichkeit, der Klasse mitzuteilen, dass sie auf eine Weise angezeigt und auf eine andere Weise gedruckt werden soll? Ich habe es mit paint(Graphics g) versucht, aber das hat Auswirkungen auf das Malen der Komponente auf dem Bildschirm.

Kurz gesagt, ich möchte eine Möglichkeit definieren, JLabel Drucker zu drucken, ohne das Aussehen und Layout auf dem Bildschirm zu beeinflussen.

2voto

Ewald Punkte 5563

Versuchen Sie, einen Rahmen um das JPanel zu legen, um zu sehen, ob das gesamte Panel irgendwie abgeschnitten wird.

Zuvor hatte ich eine ähnliche Erfahrung gemacht, und es stellte sich heraus, dass mein Papierformat nicht mit dem des Druckers übereinstimmte.

Andernfalls müssen Sie möglicherweise versuchen, Ihre Ausgabe ein wenig zu skalieren, damit sie auf die Seite passt.

Ich hoffe, das hilft, Ewald

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X