Hallo zusammen!
Ich versuch derzeit ein JTable zu drucken - so weit so gut. Bevor jetzt allerdings die Links zum HowTo kommen:
Ich hab eine JPanel-Klasse, die jeweils ein JTable enthält und entsprechend der Anforderungen gefüllt wird (die Klasse wird mehrfach instanziiert, jedoch mit unterschiedlichen Daten), d.h. unterschiedliche Spalten- und Zeilenzahl, etc... Zum Druck muss die Tabelle kopiert werden, damit die Original-Tabelle nicht verändert wird (RowSorter, Spaltenbreite,...) und dennoch die Standard-Ansicht gedruckt wird (hier gibt es eine Methode, die die Standard-Ansicht für das clonedTable setzt). Für die Breite der einzelnen Spalten nutze ich ein int[] mit einem "Gewicht".
Ich habe es derzeit so realisiert, dass ich über MediaSize.ISO.A4 die Größe der Seite erhalte und dementsprechend die Spalten über setSize() anpasse (hat ja nach dem Kopieren die Größe 0,0), was auch wunderbar funktioniert. Schalte ich jedoch im Printdialog auf Querformat um, bleibt natürlich die Tabelle von der Breite her wie es im Hochformat nötig wäre. Da ich bereits mit JTable.PrintMode.FIT_WIDTH arbeite, ist das auch keine Lösung... Hat jemand eine Idee wie man das möglichst elegant lösen könnte? :bahnhof:
Ich versuch derzeit ein JTable zu drucken - so weit so gut. Bevor jetzt allerdings die Links zum HowTo kommen:
Ich hab eine JPanel-Klasse, die jeweils ein JTable enthält und entsprechend der Anforderungen gefüllt wird (die Klasse wird mehrfach instanziiert, jedoch mit unterschiedlichen Daten), d.h. unterschiedliche Spalten- und Zeilenzahl, etc... Zum Druck muss die Tabelle kopiert werden, damit die Original-Tabelle nicht verändert wird (RowSorter, Spaltenbreite,...) und dennoch die Standard-Ansicht gedruckt wird (hier gibt es eine Methode, die die Standard-Ansicht für das clonedTable setzt). Für die Breite der einzelnen Spalten nutze ich ein int[] mit einem "Gewicht".
Ich habe es derzeit so realisiert, dass ich über MediaSize.ISO.A4 die Größe der Seite erhalte und dementsprechend die Spalten über setSize() anpasse (hat ja nach dem Kopieren die Größe 0,0), was auch wunderbar funktioniert. Schalte ich jedoch im Printdialog auf Querformat um, bleibt natürlich die Tabelle von der Breite her wie es im Hochformat nötig wäre. Da ich bereits mit JTable.PrintMode.FIT_WIDTH arbeite, ist das auch keine Lösung... Hat jemand eine Idee wie man das möglichst elegant lösen könnte? :bahnhof: