Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Stampante
Forum - Java - Stampante

Avatar
Cesaruz (Normal User)
Pro


Messaggi: 83
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 8:05
Venerdì, 06/02/2009
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:

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 18:43
Venerdì, 06/02/2009
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:
http://www.pierotofy.it/pages/guide_tutorials/Java/Stampa_ ...
va/

e poi su google un sacco di altri esempi

PM Quote
Avatar
Cesaruz (Normal User)
Pro


Messaggi: 83
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 19:45
Martedì, 10/02/2009
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:

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 9:38
Mercoledì, 11/02/2009
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.

Codice sorgente - presumibilmente Java

  1. import java.awt.print.*;
  2. import java.awt.*;
  3.  
  4. public class Stampa implements Printable {
  5.  
  6. public static void main(String ag[]) throws Exception
  7. {
  8.   PrinterJob pj = PrinterJob.getPrinterJob();
  9.   pj.setJobName("Tip's & Trick come stampare in java");
  10.   pj.printDialog();
  11.  
  12.   pj.setPrintable(Stampa.class.newInstance());// al posto di this
  13.   pj.print();
  14. }
  15.  
  16. public int print(Graphics grap,
  17. PageFormat pageFormat, int pageIndex) throws PrinterException
  18. {
  19. if(pageIndex > 0)
  20.     return NO_SUCH_PAGE;
  21. grap.setColor(Color.RED);
  22. grap.drawString("Ciao, sono stato stampato in java", (int)pageFormat.getImageableX()*2,
  23.    (int)pageFormat.getImageableY()*2); // ho aggiunto un *2 per essere più sicuro che vengano saltati i margini
  24. grap.setColor(Color.GREEN);
  25. grap.drawLine((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(),
  26.    (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());      
  27.  
  28. return PAGE_EXISTS;
  29. }
  30. }


PM Quote
Avatar
Cesaruz (Normal User)
Pro


Messaggi: 83
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 15:53
Mercoledì, 11/02/2009
Ok grazie mille ora funziona...:):):)

PM Quote