Hi guys,
can anyone tell me why th code below doesn't print a new line??? (everthing is concatenated)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.print.*;
public class Printer extends JFrame
{
private JTextArea t1;
public Printer()
{
super("Printer . . .");
t1 = new JTextArea();
Container c = getContentPane();
JPanel p1 = new JPanel();
JButton b1 = new JButton("Print Me");
p1.add(b1, BorderLayout.CENTER);
c.add(t1, BorderLayout.CENTER);
c.add(p1, BorderLayout.SOUTH);
Dimension sd = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(sd.width / 2 - 400 / 2,
sd.height / 2 - 350 / 2);
setResizable(false);
setSize(400, 350);
show();
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
printPage(t1.getText());
}
public void printPage(
String textToPrint)
{
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat landscape = job.defaultPage();
landscape.setOrientation(PageFormat.LANDSCAPE);
Book bk = new Book();
bk.append(new PaintCover(), job.defaultPage());
job.setPageable(bk);
if (job.printDialog())
{
try {
job.print();
}catch (Exception exc)
{
System.out.println(exc);
}
}
}
class PaintCover implements Printable
{
Font fnt = new Font("Helvetica-Bold", Font.PLAIN, 48);
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException
{
g.setFont(fnt);
g.setColor(Color.black);
g.drawString(t1.getText(), 100, 200);
return Printable.PAGE_EXISTS;
}
}
}
);
}
// Main method
public static void main( String args[] )
{
Printer app = new Printer();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
}
}