JTable#print & Druckgröße

hdi

Top Contributor
Hallo Leute!

Ich ärgere mich gerade ein wenig über die Implementierung der print()-Methode(n) von JTable. Was mich stört ist, dass er die Tabelle genauso druckt, wie sie in der GUI angezeigt wird. An sich ja erstmal eine nette Idee, aber bei den heutigen Auflösungen von gut und gerne 1600 bis 2000 px Bildschirmbreite führt das dazu, dass die Tabelle auf dem Papier nur noch mit Lupe zu erkennen ist. Denn er skaliert ja diese 2000 px auf das Blatt runter. Ich hab ja schon zur Landscape Orientation gewechselt, aber viel helfen tut das nicht.

Im Moment bedeutet das für mich, dass ich nur dann ein ordentlich lesbares Druckergebnis bekomme, wenn ich vor dem Starten des Druckjobs die GUI kleiner ziehe, so dass die Table nicht breiter ist als max. 1000 px. Das ist natürlich nicht gerade benutzerfreundlich.

Mir fällt im Moment nur ein das Frame halt während des Druckjobs programmatisch zu verkleinern und dann wiederherzustellen. Funktioniert, sieht aber ziemlich buggy aus wenn die GUI sich auf einmal verselbstständigt und durch die Gegend hüpft.

Hat sich jemand von euch schon damit beschäftigt, habt ihr irgendwelche Ideen was da jetzt der beste/leichteste Lösungsansatz wäre? Gibt es eine Alternative dazu, das ganze jetzt vollständig manuell zu machen (Mir grault es wenn ich mir überlege dass ich die Tabelle per Hand zeichnen muss)?

Natürlich könnte ich auf diese Gimmicks wie den Table Header usw verzichten und einfach nur ein paar String-Zeilen runterschreiben. Aber ich dachte ich frag erstmal, vllt hat einer von euch da was parat?!

Danke, lg :)
 
S

Spacerat

Gast
Damit Beschäftigt, Nein. Eine Idee, Ja.
Und zwar folgende: Drucke einen "Screenshot" der GUI. Man nehme ein BufferedImage in der Grösse des Frames und hole sich davon ein Graphics-Objekt mit welchem man die "paint()"-Methode des Frames aufruft (Frame muss evtl. synchronisiert werden, damit die GUI nicht aktualisieren kann, während ins BI gezeichnet wird). Theoretisch sollte die gesamte GUI nun in das BI gezeichnet werden. Dann BI skalieren und drucken.
[EDIT]...und lass Manuell aus dem Spiel, der hat damit nix zu tun. :D[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:

hdi

Top Contributor
Die Idee ist nett, nur leider besteht meine GUI aus viel mehr als nur der besagten Table. Und aus einem Bild nun die Position dieser Table herauszuscannen, das ist wohl noch umständlicher als es per Hand zu machen. (Fühlst du dich jetzt besser? :D "Manuell" steht doch im Duden?!)

Aber selbst wenn ich nur die Table im Frame hätte; man würde dennoch das ganze Teil mitsamt dem Frame Header und den Frame-Buttons drucken. Da würd ich jetzt als User wenn ich auf das Papier kuck schon denken ":autsch::bloed:"

Mir fällt aber grad auch noch was ein: Ich erstell einen Dialog hinter dem Frame und klatscht dort eine Kopie der Tabelle rein; die print() Methode ruf ich dann auf diesem Dialog auf. Die Frage ist ob er hinter das Frame "sehen" kann. Bei einem nicht-sichtbaren Frame im Sinne von isVisible() == false klappt das schon mal nicht (leere Seite). Ich werd mich melden wenn ich's probiert hab

edit: Ne das mach ich doch nicht.. Das ist blöd wegen des Printing Status Dialog den er ja anzeigt, den soll man schon sehen.

Hm.. also für weitere Vorschläge bin ich dankbar!
 
Zuletzt bearbeitet:
S

Spacerat

Gast
(Fühlst du dich jetzt besser? :D "Manuell" steht doch im Duden?!)
:lol: Nein. Warum sagst du ihm nicht, er möge sich doch bitte setzen...
Aber mal im Ernst. Du kannst dir evtl. das Dialog und Kopiergedöns sparen. Wenn der Table auch 'ne Swing-Komponente ist (ich geh' fast davon aus), kannst du auch ebenso wie mit dem Frame verfahren. Nur halt das BI in der Grösse des Tables und dessen "paint()"-Methode aufrufen.
 

hdi

Top Contributor
Achso, ja natürlich es ist ein JTable. Mit Graphics, bzw vielmehr Image hab ich bislang noch nicht groß rumhantiert, ich schau mal was ich mit Hilfe der API reißen kann - ansonsten musst du vllt nochmal Manuell's Sitzplatz einnehmen und mit weitere Antworten dienen ;)
 

andiv

Bekanntes Mitglied
Verwende JasperReports zum Drucken, mit IReport kannst du dann den Ausdruck genau nach deinen Wünschen gestalten. Wird definitiv besser aussehen als solche Bastellösungen.
 

hdi

Top Contributor
Danke ich werd mal googlen, hab im Moment grad keine Zeit für diese Sache. Darf das kommerziell verwendet werden oder muss man dafür eine Lizenz erwerben?

Danke, lg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
KeTho1712 Java Swing: JTable standardmäßig füllen, sodass bei Start bereits Datensätze gespeichert sind Allgemeine Java-Themen 1
H Swing JTextArea als TableCellRenderer in JTable - wie Zeilen selektieren? Allgemeine Java-Themen 47
D JTable mit JTextAreas in den Zellen Allgemeine Java-Themen 8
X Swing JTable zeigt nichts Allgemeine Java-Themen 4
G jTable aktualisieren?! Allgemeine Java-Themen 1
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
D falsche Zeile aus JTable in MySQL gelöscht Allgemeine Java-Themen 6
offi Drag and Drop mehrerer File aus Explorer in JTable Allgemeine Java-Themen 1
V JTable Externe Lib Allgemeine Java-Themen 2
F JTable Pfeiltasten-Verhalten Allgemeine Java-Themen 1
T jTable Gestaffelte Überschriften Allgemeine Java-Themen 22
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
B Klassen JTable mit einer Liste Allgemeine Java-Themen 0
A JTable Bilder Allgemeine Java-Themen 1
F JTable mit Zellen die sich durch andere Eingaben füllen Allgemeine Java-Themen 1
A JTable - CellRange auslesen Allgemeine Java-Themen 2
A jTable Renderer Allgemeine Java-Themen 5
N JTable filtern Allgemeine Java-Themen 3
S JTable: Model durch ein anderes ersetzen Allgemeine Java-Themen 2
G JTable: ListSelectionListener removen Allgemeine Java-Themen 8
M JTable + ArrayList Allgemeine Java-Themen 3
G Aktualisierung einer JTable erfolgt nicht zuverlässig Allgemeine Java-Themen 14
E Hintergrund einer JTable änden Allgemeine Java-Themen 2
G Darstellung von Ergebnissen einer Dokumentensuche über eine JTable Allgemeine Java-Themen 19
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
P jTable getSelectedRow? Allgemeine Java-Themen 2
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
B LEERE JTable MouseListener + popupmenu Allgemeine Java-Themen 2
X xml aus Zip in JTable Allgemeine Java-Themen 2
L jTable drag & drop einzelner Zeilen Allgemeine Java-Themen 4
S JTable und Spalten löschen Frage Allgemeine Java-Themen 5
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
F XML zu JTable mit JDOM Allgemeine Java-Themen 2
E JTable wird nicht angezeigt Allgemeine Java-Themen 11
Screen ImageIcon in Cell der JTable Allgemeine Java-Themen 2
G JTable mit Keylistener geht nicht Allgemeine Java-Themen 3
C Swing JTable Vector aus DB adden Allgemeine Java-Themen 3
A Swing JTable Polymorphismus Allgemeine Java-Themen 2
trash super + JTable Allgemeine Java-Themen 7
D JTable -> 1Spalte nur zahlen Allgemeine Java-Themen 2
L JTABLE setvalueat methode! Allgemeine Java-Themen 16
C Swing Daten zwischen JTable teilen Allgemeine Java-Themen 6
hdi JTable: Sortierung von Date-Objekten Allgemeine Java-Themen 4
B JTable nach Icon sortieren Allgemeine Java-Themen 6
N Exception beim auslesen einer JTable Allgemeine Java-Themen 5
M jdesktop binding: jTable update nach Änderung... Allgemeine Java-Themen 3
D JTable mit GROUP BY Allgemeine Java-Themen 23
martin82 Regex - JTable - Filter Allgemeine Java-Themen 10
X JTable mit Checkboxen -> Setzen (true/false) der Checkboxen per Mouseklick... Allgemeine Java-Themen 3
P JTable drucken Allgemeine Java-Themen 8
A JTable Feldwerte in JTextFelder mit blättern Allgemeine Java-Themen 5
DStrohma [Erledigt] Wieso kann ich Taste 'ENTER' in JTable nicht belegen? Allgemeine Java-Themen 2
M jTable Allgemeine Java-Themen 19
D jTable und TableModel Allgemeine Java-Themen 2
B Exception bei leerem JTable verhindern Allgemeine Java-Themen 10
A Observable BeansBinding an einer JTable bzw. JXTable Allgemeine Java-Themen 3
P Textfile -> Array -> JTable Allgemeine Java-Themen 9
S JTable Aktuelisieren ber Wie ? Allgemeine Java-Themen 4
MQue JComboBox in JTable Allgemeine Java-Themen 4
J Ergebnismenge eines SQL-Queries in JTable anzeigen Allgemeine Java-Themen 3
MQue JTable alles rechts Allgemeine Java-Themen 8
G Checkboxen abfragen,Auswahl sichern, JTable laden Allgemeine Java-Themen 2
G Hibernate, JTable und Performance Allgemeine Java-Themen 17
R JTable und Cell Renderer Allgemeine Java-Themen 3
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
S Welche Speicherung von Daten bei Kalendarfunktion der jtable Allgemeine Java-Themen 7
J keylistener auf jtable Allgemeine Java-Themen 19
C JTable, Abstand zwischen Zellen Allgemeine Java-Themen 2
G Eindeutiges Identifizieren einer JTable/Component z.laufzeit Allgemeine Java-Themen 2
D JTable -> ArrayIndexOutOfBoundsException bei Mausklick Allgemeine Java-Themen 2
S JTable editieren + in JTextField schreiben Allgemeine Java-Themen 7
G Daten in / für JTable beim Scrollen nachladen? Allgemeine Java-Themen 5
M JTable verändert Position auf meinem JPanel Allgemeine Java-Themen 3
P JTable Allgemeine Java-Themen 2
H JTable Löschen [Alle Zeilen aufeinmal Löschen] Allgemeine Java-Themen 6
P JTable setDataVector Allgemeine Java-Themen 2
D Scrollbalken in meiner JTable auf einmal weg. Allgemeine Java-Themen 2
P JTable Allgemeine Java-Themen 8
P JButtons mit JTable verknüpfen Allgemeine Java-Themen 16
G fehler bei JTable mit JDK1.6 Allgemeine Java-Themen 4
M CheckBox in JTable - ich verzweifle gleich Allgemeine Java-Themen 2
P JTable/Vector Allgemeine Java-Themen 5
P JTable Allgemeine Java-Themen 4
E JButton bleibt in der JTable Allgemeine Java-Themen 2
E JButton in einer Zelle von JTable Allgemeine Java-Themen 16
P JTable selektierte Zeile mitwandern Allgemeine Java-Themen 2
F Checkbox in JTable , eigener Cellrenderer -wie gehts weiter? Allgemeine Java-Themen 2
P JTable suchen in einer Spalte Allgemeine Java-Themen 24
G JTable wird nicht richtig aufgebaut Allgemeine Java-Themen 9
C Ausdrucken einer JTable in eine Datei mit Erhalt des Formats Allgemeine Java-Themen 3
W Columns austauschen/verschieben von jtable Allgemeine Java-Themen 3
P 3rd party JTable libraries (freeware/opensource) Allgemeine Java-Themen 19
D JTable aus Eclipse Ok, kompeliert aber nicht Allgemeine Java-Themen 6
G mySQL und JTable Allgemeine Java-Themen 7
D JTable und Buttons Allgemeine Java-Themen 16
B JScrollPane in einer JTable aktualisieren? Allgemeine Java-Themen 9
G CheckBox in JTable Allgemeine Java-Themen 3
S JTable erzeugen und updaten Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben