# JTable auf Druckausgabe anpassen



## Guest (4. Apr 2005)

Hi,
hab folgendes Problem. Ich will ne JTable mit mehreren Spalten drucken. Funktioniert soweit auch alles ganz gut, nur is die Tabelle breiter als ne A4 Seite und ich deswegen immer nur die halbe Tableee auf dem Blatt hab. Weiss irgendjemand wie man den PrinterJob dazu bringt das ganze automatisch zu skalieren? PageFormat in der print() Funktion auf A4 setzen funktioniert übrigens nicht.
MfG


----------



## Sky (4. Apr 2005)

Mal ne ganz Dumme Frage: Hilft vielleicht schon ein Druck in Querformat? (Ich hatte mal das gleiche Problem gehabt und so konnte ich es binnen Sekunden lösen).

Ansonsten bietet dir die Klasse "Graphics2D" die Methode "scale" an.


----------



## Guest (4. Apr 2005)

Das ich Querformat drucken kann weiss ich schon, will ich aber nicht.
scale() kenn ich schon, nur weiss ich nicht, wie ich den Druckbereich meines Druckers rauskriegen soll um nen Skalierungsfaktor zu berechnene.
Ich finds halt nur komisch dass ich mittels DocFlavor zum Beispiel jpegs drucken kann und die automatisch skaliert werden aber swing komponenten nicht.


----------



## thE_29 (4. Apr 2005)

Dann mach vorher aus deiner Swing Komponente einfach ein Bild (Klasse Robot, createScreen....).

Ansonsten schau dir in den FAQ den 2ten Beitrag zum Drucken an, da gibts Methoden die sich den druchbaren Bereich ausrechnen, bzw Variablen, vielleicht helfen die dir ja was!


----------



## hephaistos (1. Jul 2005)

kann mir jmd. sagen, WIE ich Querformat drucken kann?


```
public int print(Graphics g, PageFormat pf, int pageIndex)
    {
        pf.setOrientation(PageFormat.LANDSCAPE);
```

das funktioniert leider nicht 

und auch:

```
printJob.defaultPage().setOrientation(PageFormat.LANDSCAPE);
```
bringt nichts

danke im voraus


----------



## Guest (15. Dez 2006)

Probier mal:


```
table.print(JTable.PrintMode.FIT_WIDTH);
```

So werden die Spalten automatisch verkleinert wenn die Tabelle nicht auf ein Blatt passt.
Ist doch das was du gesucht hast oder?

Ich such ja noch die umgekehrte Variante, sprich meine Tabelle ist bps. 200 Pixel breit, soll aber beim ausdrucken auch auf die Seite angepasst sein... macht er leider trotz FIT_WITH nicht...


----------

