Ich fange gerade an, über das Drucken mit Java Swing zu lernen, also bitte ertragen Sie mit mir, wenn diese Frage sehr naiv ist.Drucken einer Reihe von JPanels
Ich habe ein ziemlich komplexes Layout mit mehreren JPanels, die andere JPanels enthalten, die JLabels enthalten. Ich möchte das irgendwie gut auf einem Drucker drucken.
Ich weiß, dass ich auf einem Graphics2D-Objekt "malen" kann, das eine gedruckte Seite darstellt, aber das erfordert, dass ich jedes Objekt einzeln positioniere. Ich würde gerne die Layout-Manager von Swing verwenden können, um die Elemente auf meiner Seite zu gestalten. Eine Möglichkeit dazu besteht darin, jp.paint(g2d)
aufzurufen, wobei jp ein JPanel und g2d das Graphics2D-Objekt ist, das die gedruckte Seite darstellt. Soweit ich sehen kann, wird jedoch nur ein JPanel gedruckt, das tatsächlich auf dem Bildschirm sichtbar ist. Wenn JPanel nicht sichtbar ist, wird es nicht gedruckt.
Gibt es also eine Möglichkeit, ein (ziemlich komplexes) JPanel zu erstellen und es an einen Drucker zu senden, ohne zuerst das JPanel auf dem Computerbildschirm anzuzeigen?
Oder bin ich hier völlig falsch?
Dies wird Ihnen helfen -> http://docs.oracle.com/javase/tutorial/2d/printing /gui.html – Java42
Nein, soweit ich sehen kann, geht es um das Drucken eines sichtbaren Objekts. Ich möchte ein unsichtbares Objekt drucken. – oz1cz
Wenn Sie die zu druckenden Bereiche erstellen, führen Sie pack(), aber nicht Visible (true) aus, und das Bedienfeld wird gedruckt, ohne auf dem Bildschirm angezeigt zu werden. Versuche es. – Java42