Ich habe das Problem gelöst.
Die print Methode sieht jetzt wie folgt aus:
Code
public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
if (pageIndex > 0) {
return(NO_SUCH_PAGE);
} else {
Graphics2D g2 = (Graphics2D) g;
//JPanel drucken
myPanel.drawPanel(g2, pageFormat);
//JTable drucken
myTextTable.drawTable(g2, pageFormat);
return Printable.PAGE_EXISTS;
}
}
Alles anzeigen
Ich habe die paint-Befehle einfach in die jeweilige Klasse ausgelagert, so wird jeder Bestandteil so gedruckt, wie es die eigene Klasse machen würde. Der Text meiner JTable ist somit anwählbar. Nach einem verlängerten Wochenende haut immer alles auf Anhieb hin. Sowas sollte für Programmierer gesetzlich vorgesehen sein
Hier noch die drawPanel Methode:
Code
public Graphics2D drawPanel(Graphics2D g, PageFormat pf) {
g.translate(pf.getImageableX()-15, pf.getImageableY());
g.setClip(0, 0, 500, 500);
paint(g);
return g;
}
drawTable ist nix anderes, einfach Grenzen ändern und passt.
LG Markus