I made this:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
public class PrintObject{
JTextArea text;
public static void main (
String[] args){
PrintObject printgui = new PrintObject();
printgui.go();
}
public void go(){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setBackground(Color.darkGray);
text= new JTextArea(10,20);
text.setLineWrap(true);
text.append("poo");
JScrollPane scroller = new JScrollPane(text);
panel.add(scroller);
JButton printbutton = new JButton("Print me");
printbutton.addActionListener(new PrintButtonListener());
panel.add(printbutton);
frame.getContentPane().add(BorderLayout.CENTER,panel);
frame.setSize(250,250);
frame.setVisible(true);
System.out.println(text.getText());
}
public class PrintButtonListener implements ActionListener{
public void actionPerformed(ActionEvent event){
//MyString printing = new MyString(text.getText());
printPage(text.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());
//bk.append(new PaintContent(), landscape);
job.setPageable(bk);
//job.setPrintable(new PaintCover(), job.defaultPage());
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(text.getText(), 100, 200);
return Printable.PAGE_EXISTS;
}
}
}
}
After Reading this:
http://java.sun.com/docs/books/tutorial/2d/printing/index.html Most of the code is nicked from the example in the last Page.