Java - problema al enviar datos a un ticket

   
Vista:

problema al enviar datos a un ticket

Publicado por daniel daniel.valdez.hernandez17@gmail.com (2 intervenciones) el 07/08/2015 00:32:19
Hola Buenas Tardes.....
Quisiera que me ayudaran con mi problema.
Estoy creando un pequeño punto de venta en java usando jframes y sql esta parte esta hecha mi problema esta al querer imprimir.
Tengo mi ticket hecho lo unico que me falta es enviar los datos de los productos a mi ticket.

Esta es mi clase principal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.io.*;
import java.awt.print.*;
import java.awt.print.PrinterJob.*;
import java.awt.print.PageFormat.*;
class Imprimir{
 
static public void main(String []args){
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pf = job.defaultPage();
Paper paper = new Paper();
paper.setSize(302.362204724,0);
//double margin = 10;
paper.setImageableArea(0, 0, paper.getWidth() - 10, paper.getHeight() - 10);
pf.setPaper(paper);
pf.setOrientation(PageFormat.PORTRAIT);
job.setPrintable(new ObjetoDeImpresion(), pf);
job.setJobName("nombre_de_impresion");
try{
job.print();
}catch(PrinterException e){
System.out.println(e);
}
}
}


Aqui es donde defino mi ticket

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.awt.*;
import java.awt.print.*;
class ObjetoDeImpresion implements Printable{
public int print(Graphics g, PageFormat f, int pageIndex){
 
if(pageIndex == 0){
    Font font = new Font("Serif", Font.PLAIN, 8);
    g.setFont(font);
g.drawString("Sport World", 80, 20);
g.drawString("Sor Juana Inés de la Cruz Esq. Nueva Imagen S/N", 10, 30);
g.drawString("CP: 62790", 10, 40);
g.drawString("Teléfono: (777)3004953", 10, 50);
g.drawString("Folio :1", 110, 50);
g.drawString("TICKET DE COMPRA", 70, 60);
g.drawString("Fecha: 12:12:12", 10, 60);
g.drawString("------------------------------------------------------------------------------------", 1, 70);
g.drawString("producto 1", 10, 80); g.drawString("precio: 10", 100, 80);
g.drawString("Sub.Total: 10", 100, 90);
g.drawString("Total: 10", 100, 100);
g.drawString("Efectivo:  20", 20, 110);
g.drawString("Cambio:  10", 20, 120);
Font font2 = new Font("Serif", Font.PLAIN, 14);
g.setFont(font2);
g.drawString("POR NUESTRO FUTURO", 40, 130);
g.drawString("CUIDA EL AGUA", 60, 140);
g.setFont(font);
g.drawString("**********************************************************************************", 1, 150);
g.drawString("Gracias por su compra", 70, 160);
g.drawString("-----------------------------------------------------------------------------------", 1, 170);
return PAGE_EXISTS;
}else{
return NO_SUCH_PAGE;
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problema al enviar datos a un ticket

Publicado por daniel daniel.valdez.hernandez17@gmail.com (2 intervenciones) el 09/08/2015 00:26:22
Bueno ya solucione mi problemita.
Dejo el codigo por si alguien tiene el mismo problema.
Si tienen duda pregunten.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import java.awt.*;
import java.awt.print.*;
import java.util.Calendar;
import javax.swing.table.TableModel;
class ObjetoDeImpresion implements Printable{
    static String VentaTotal,id;
    static TableModel modelotabla;
 
    public String fecha,hora,FECHA,HORA;
public int print(Graphics g, PageFormat f, int pageIndex){
    Font font = new Font("Serif", Font.PLAIN, 9);
    g.setFont(font);
   //en esta parte le ponemos fecha y hora al ticket
    Calendar cal=Calendar.getInstance();
        int mes;
        mes=cal.get(Calendar.MONTH);
        int mesOficial=mes+1;
    fecha=cal.get(Calendar.YEAR)+"-"+mesOficial+"-"+cal.get(cal.DATE);
    hora=cal.get(cal.HOUR_OF_DAY)+":"+cal.get(cal.MINUTE)+":"+cal.get(cal.SECOND);
    FECHA=(fecha);
    HORA=(hora);
    System.out.println(hora);
    System.out.println(fecha);
    //aqui agregamos los productos al ticket
      int numerocolumnas=modelotabla.getRowCount();
      int q=80;
      int numerosaltos =numerocolumnas*10;
      numerosaltos=numerosaltos+10;
      System.out.println("el numero de saltos es: "+numerosaltos);
  while(numerocolumnas>0){
 
            numerocolumnas=numerocolumnas-1;
            String NombreP=(String) modelotabla.getValueAt(numerocolumnas, 1);
            String PrecioP=(String) modelotabla.getValueAt(numerocolumnas, 3);
            String PrecioT=(String) modelotabla.getValueAt(numerocolumnas, 4);
            System.out.println(NombreP);
 
 
            q=q+10;
            g.drawString(NombreP, 10, q);g.drawString(PrecioP, 100, q);g.drawString(PrecioT, 150, q);
            System.out.println("el producto es: "+NombreP);
  }
 
if(pageIndex == 0){
 
g.drawString("Sport World", 80, 20);
g.drawString("Sor Juana Inés de la Cruz Esq. Nueva Imagen S/N", 10, 30);
g.drawString("CP: 62790", 10, 40);
g.drawString("Teléfono: (777)3004953", 10, 50);
g.drawString("Folio :"+id, 110, 50);
g.drawString("Fecha: "+FECHA+"    Hora: "+HORA, 10, 60);
g.drawString("------------------------------------------------------------------------------------", 1, 70);
 
g.drawString("Producto.", 10, 80);g.drawString("Precio.Unit.", 100, 80);g.drawString("Precio.Total.", 150, 80);
 
 
g.drawString("Sub.Total: 10", 100, 90+numerosaltos);
g.drawString("Total: "+VentaTotal, 100, 100+numerosaltos);
g.drawString("Efectivo:  20", 20, 110+numerosaltos);
g.drawString("Cambio:  10", 20, 120+numerosaltos);
Font font2 = new Font("Serif", Font.PLAIN, 14);
g.setFont(font2);
g.drawString("POR NUESTRO FUTURO", 40, 130+numerosaltos);
g.drawString("CUIDA EL AGUA", 60, 140+numerosaltos);
g.setFont(font);
g.drawString("**********************************************************************************", 1, 150+numerosaltos);
g.drawString("Gracias por su compra", 70, 160+numerosaltos);
g.drawString("-----------------------------------------------------------------------------------", 1, 170+numerosaltos);
 
 
return PAGE_EXISTS;
}else{
return NO_SUCH_PAGE;
}
 
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar