Oppure

Loading
06/02/09 7:05
Cesaruz
Ciao a tutti vorrei sapere come eseguire un comando di stampa con java...per esempio per predere degli inpu da tastiera si fa in questo modo:

BuffereReader input = new BufferedReader(new InputStreamReader(System.in))

In questo caso il parametro passato alla InputStreamReader (System.in) è proprio associato alla tastiera...
Io invece vorrei sapere quello associato alla stampante...:)
Grazie in anticipo a tutti:k:
aaa
06/02/09 17:43
netarrow
che io sappia non c'è alcuno stream direttamente associato alla stampante in Java come poteva essere con cobol e forse in C.
Per stampare in Java c'è una mini guida qui:
pierotofy.it/pages/guide_tutorials/Java/…
va/

e poi su google un sacco di altri esempi
aaa
10/02/09 18:45
Cesaruz
Ok ho visto l'esempio che mi hai consigliato..però mi da un errore che nn riesco a capire qui:
pj.setPrintable(this);
L'IDE mi dice: non-static variable this cannot be referenced from a static context..:-|
Che significa? Da premettere che ho copiato perfettamente dall'esempio...
Grazie anticipatamente:k:
aaa
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
11/02/09 14:53
Cesaruz
Ok grazie mille ora funziona...:):):)
aaa