Hallo!
Seit Tagen macht mich ein Problem beim drucken fertig!
Ich krieg es nähmlich nicht hin mehrere Seiten mit JAVA zu drucken.
:?: Problem:
Es sollte ein Programm geschrieben werden, wo 70 Zeilen Text ausgedruckt werden, tatsächlich werden aber nur die Hälfte davon ausgedruckt(etwa 35), da alle Textzeilen nicht auf ein Blatt passen.
:idea: Frage:
Was kann man machen, damit die andere Hälfte der Textzeilen automatish auf dem zweiten Blatt Papier ausgedrucken werden. Also auf insgesamt 2 Blätter?
Seit Tagen macht mich ein Problem beim drucken fertig!
Ich krieg es nähmlich nicht hin mehrere Seiten mit JAVA zu drucken.
:?: Problem:
Es sollte ein Programm geschrieben werden, wo 70 Zeilen Text ausgedruckt werden, tatsächlich werden aber nur die Hälfte davon ausgedruckt(etwa 35), da alle Textzeilen nicht auf ein Blatt passen.
:idea: Frage:
Was kann man machen, damit die andere Hälfte der Textzeilen automatish auf dem zweiten Blatt Papier ausgedrucken werden. Also auf insgesamt 2 Blätter?
Code:
import java.awt.event.*;
import java.awt.print.*;
import javax.swing.*;
public class PrintFrame extends JFrame {
PrintPanel pp;
public PrintFrame()
{
pp = new PrintPanel();
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable(pp);
if(printJob.printDialog()) //Der BS abhängige Druckdialog
try{ printJob.print(); } //Der Ausdruck wird gestartet.
catch(PrinterException pe){}
}
public static void main(String args[])
{
new PrintFrame();
}
}
import java.awt.*;
import java.awt.print.*;
import javax.swing.*;
class PrintPanel extends JPanel implements Printable{
public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException
{
if(pageIndex>0)
{
return(NO_SUCH_PAGE);
}
else
{
//-----Der Rand des Blattes wird bestimmt--------
int x= (int)pageFormat.getImageableX()+1;
int y= (int)pageFormat.getImageableY()+1;
g.translate(x,y);
//-----------------------------------------------
//----Dieses String wird ausgegeben--------------
for(int i=1;i<70;i++)
g.drawString("TEST"+i,30,i*20);
//-----------------------------------------------
return(PAGE_EXISTS);
}
}
}