P
Pilger
Hallo zusammen!
Erstmal will ich sagen, dass das Forum mir dauernt schon hilft bei meinen Problemstellungen! Ist immer meine erste Anlaufstelle und meistens finde ich schnell lösungen von ähnlichen problemen die mir weiterhelfen! Großes LOB und Danke!
Aber jetzt hab ich ein Problem wo ich nirgends eine Lösung finde:
Ich habe ein Panel auf das eine ganze Menge zeugs gemalt wird: Ein Hintergrundbild, Kreise rechtecke, Strings etc. ... eben mit der überschriebenen methode paint(graphics g) !
Nun will ich das ganze bild drucken, das funktioniert auch soweit... bloss dass das bild so gross ist dass es weit über die Bildränder hinaus geht so dass nur ca. das linke obere viertel gedruckt wird!
Das bild sollte halt so gross sein (ca. 750*1024) damit es auf dem bildschirm groß zu sehen ist aber beim druck sollte es halt auf eine DIN4 seite passen!
Ich dachte auch es geht über das Druckmenu(Druckertreiber) aber fehlanzeige!
Also bräuchte ich eine Graphics o.ä. Methode die mir ein fertig gemaltes Bild im ganzen staucht!
Auch bei Graphics2D wurde ich nicht fündig, wobei ich auch nicht wirklich weiss wie mit g2d umzugehen ist.
Eine möglichkeit ist mir eingefallen dass ich 2 paintmethoden schreibe wo bei dem 2ten alle koordinaten kleiner sind, aber ich hätte lieber eine bessere möglichkeit
Hier meine print methode... wo g.translate(xy) steht müsste halt am besten so eine methode aufgerufen werden wie g.stauchealles(x,y,gewünschte neue breite,gewünschte neue höhe) .... habe gehofft dass methoden wie setClip, clipRect mein problem in angriff nehmen, doch is leider nicht so!
Danke im voraus, Pilger
Erstmal will ich sagen, dass das Forum mir dauernt schon hilft bei meinen Problemstellungen! Ist immer meine erste Anlaufstelle und meistens finde ich schnell lösungen von ähnlichen problemen die mir weiterhelfen! Großes LOB und Danke!
Aber jetzt hab ich ein Problem wo ich nirgends eine Lösung finde:
Ich habe ein Panel auf das eine ganze Menge zeugs gemalt wird: Ein Hintergrundbild, Kreise rechtecke, Strings etc. ... eben mit der überschriebenen methode paint(graphics g) !
Nun will ich das ganze bild drucken, das funktioniert auch soweit... bloss dass das bild so gross ist dass es weit über die Bildränder hinaus geht so dass nur ca. das linke obere viertel gedruckt wird!
Das bild sollte halt so gross sein (ca. 750*1024) damit es auf dem bildschirm groß zu sehen ist aber beim druck sollte es halt auf eine DIN4 seite passen!
Ich dachte auch es geht über das Druckmenu(Druckertreiber) aber fehlanzeige!
Also bräuchte ich eine Graphics o.ä. Methode die mir ein fertig gemaltes Bild im ganzen staucht!
Auch bei Graphics2D wurde ich nicht fündig, wobei ich auch nicht wirklich weiss wie mit g2d umzugehen ist.
Eine möglichkeit ist mir eingefallen dass ich 2 paintmethoden schreibe wo bei dem 2ten alle koordinaten kleiner sind, aber ich hätte lieber eine bessere möglichkeit
Hier meine print methode... wo g.translate(xy) steht müsste halt am besten so eine methode aufgerufen werden wie g.stauchealles(x,y,gewünschte neue breite,gewünschte neue höhe) .... habe gehofft dass methoden wie setClip, clipRect mein problem in angriff nehmen, doch is leider nicht so!
Code:
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
{
if (pageIndex > 0)
{
return(NO_SUCH_PAGE);
} else
{
int x = (int)pageFormat.getImageableX() + 1;
int y = (int)pageFormat.getImageableY() + 1;
g.translate(x,y);
RepaintManager currentManager = RepaintManager.currentManager(this);
currentManager.setDoubleBufferingEnabled(false);
this.paint(g);
currentManager.setDoubleBufferingEnabled(true);
return(PAGE_EXISTS);
}
}
Danke im voraus, Pilger
Zuletzt bearbeitet von einem Moderator: