11/02/09 8:38
netarrow
già nell'esempio c'è un errore, nel metodo main (che è statico), uso this (e non si può
.
Mi chiedo come avrò fatto a testarlo sennò non sarebbe funzionato neanche a me.
Avrò modificato dopo la verifica.
Cmq per risolvere basta passare un'istanza valida di Stampa, puoi crearla come preferisci.
import java.awt.print.*;
import java.awt.*;
public class Stampa implements Printable {
public static void main(String ag[]) throws Exception
{
PrinterJob pj = PrinterJob.getPrinterJob();
pj.setJobName("Tip's & Trick come stampare in java");
pj.printDialog();
pj.setPrintable(Stampa.class.newInstance());// al posto di this
pj.print();
}
public int print(Graphics grap,
PageFormat pageFormat, int pageIndex) throws PrinterException
{
if(pageIndex > 0)
return NO_SUCH_PAGE;
grap.setColor(Color.RED);
grap.drawString("Ciao, sono stato stampato in java", (int)pageFormat.getImageableX()*2,
(int)pageFormat.getImageableY()*2); // ho aggiunto un *2 per essere più sicuro che vengano saltati i margini
grap.setColor(Color.GREEN);
grap.drawLine((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(),
(int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());
return PAGE_EXISTS;
}
}
aaa