October 10th, 1999, 11:44 PM
hi ,
I am unable to obtain any printout using the following piece of code.
I am geeting three blank pages without any contents.Can some body tell me why?
[java code]
import java.awt.print.*;
import java.awt.*;
import java.util.*;
class printable extends Frame
{
public static void main(String[] str)
{
printable p = new printable("Ramesh's Printout");
}
printable(String s)
{
super(s);
setSize(400,400);
PrinterJob pj = PrinterJob.getPrinterJob();
Book bk = createBook(pj);
try
{
pj.setPageable(bk);
pj.print();
}
catch(Exception e)
{
System.out.println(e.toString());
System.out.println("Problem in Printable constructor");
}
System.exit(0);
}
Book createBook(PrinterJob p)
{
Book b = new Book();
PageFormat defaultformat = new PageFormat();
defaultformat = p.defaultPage(defaultformat);
PageFormat landscape = new PageFormat();
landscape.setOrientation(PageFormat.LANDSCAPE);
PagePrinter[] pp = new PagePrinter[1];
int pwidth = (int) defaultformat.getImageableWidth();
int pheight = (int) defaultformat.getImageableHeight();
Font font = new Font("Helvetica",Font.BOLD,18);
pp[0] = new PagePrinter();
pp[0].addPrintElement(new PrintElement("This is Page1",font,100,100));
pp[1] = new PagePrinter();
pp[1].addPrintElement(new PrintElement("This is Page2",font,150,150));
pp[2] = new PagePrinter();
pp[2].addPrintElement(new PrintElement("This is Page3",font,200,200));
b.append(pp[0],defaultformat);
b.append(pp[1],defaultformat);
b.append(pp[2],defaultformat);
return b;
}
class PagePrinter implements Printable
{
Vector v;
PagePrinter()
{
v = new Vector();
}
public void addPrintElement(PrintElement pe)
{
v.addElement(pe);
}
public int print(Graphics g,PageFormat p,int Index)
{
Enumeration e = v.elements();
while(e.hasMoreElements())
{
System.out.println("entered print of Printable");
PrintElement pet = (PrintElement) e.nextElement();
pet.print(g);
}
return Printable.PAGE_EXISTS;
}
}
class PrintElement
{
String string;
int x,y;
Font ft;
PrintElement(String ar,Font f,int xpos,int ypos)
{
this.string = ar;
//System.out.println(string);
this.x = xpos;
this.y = ypos;
this.ft = f;
}
public void print(Graphics g)
{
Font oldfont = g.getFont();
g.setFont(ft);
//System.out.println(string);
g.drawString(string,x,y);
g.setFont(oldfont);
}
}
}
[/java code]
I am unable to obtain any printout using the following piece of code.
I am geeting three blank pages without any contents.Can some body tell me why?
[java code]
import java.awt.print.*;
import java.awt.*;
import java.util.*;
class printable extends Frame
{
public static void main(String[] str)
{
printable p = new printable("Ramesh's Printout");
}
printable(String s)
{
super(s);
setSize(400,400);
PrinterJob pj = PrinterJob.getPrinterJob();
Book bk = createBook(pj);
try
{
pj.setPageable(bk);
pj.print();
}
catch(Exception e)
{
System.out.println(e.toString());
System.out.println("Problem in Printable constructor");
}
System.exit(0);
}
Book createBook(PrinterJob p)
{
Book b = new Book();
PageFormat defaultformat = new PageFormat();
defaultformat = p.defaultPage(defaultformat);
PageFormat landscape = new PageFormat();
landscape.setOrientation(PageFormat.LANDSCAPE);
PagePrinter[] pp = new PagePrinter[1];
int pwidth = (int) defaultformat.getImageableWidth();
int pheight = (int) defaultformat.getImageableHeight();
Font font = new Font("Helvetica",Font.BOLD,18);
pp[0] = new PagePrinter();
pp[0].addPrintElement(new PrintElement("This is Page1",font,100,100));
pp[1] = new PagePrinter();
pp[1].addPrintElement(new PrintElement("This is Page2",font,150,150));
pp[2] = new PagePrinter();
pp[2].addPrintElement(new PrintElement("This is Page3",font,200,200));
b.append(pp[0],defaultformat);
b.append(pp[1],defaultformat);
b.append(pp[2],defaultformat);
return b;
}
class PagePrinter implements Printable
{
Vector v;
PagePrinter()
{
v = new Vector();
}
public void addPrintElement(PrintElement pe)
{
v.addElement(pe);
}
public int print(Graphics g,PageFormat p,int Index)
{
Enumeration e = v.elements();
while(e.hasMoreElements())
{
System.out.println("entered print of Printable");
PrintElement pet = (PrintElement) e.nextElement();
pet.print(g);
}
return Printable.PAGE_EXISTS;
}
}
class PrintElement
{
String string;
int x,y;
Font ft;
PrintElement(String ar,Font f,int xpos,int ypos)
{
this.string = ar;
//System.out.println(string);
this.x = xpos;
this.y = ypos;
this.ft = f;
}
public void print(Graphics g)
{
Font oldfont = g.getFont();
g.setFont(ft);
//System.out.println(string);
g.drawString(string,x,y);
g.setFont(oldfont);
}
}
}
[/java code]