getprintjob retorna null

BUENAS NOCHES FORO, TENGO UN PROBLEMA CON UN PROGRAMA EN EL CUAL MANDO UNA IMPRESION Y FUNCIONA BIEN EN UN COMPUTADOR, PERO EN OTRO NO.
AL REVISAR EL METODO "getPrintJob" RETORNA NULL SI ME PUDIERAN AYUDAR SE LO AGRADECERIA.
ESTE ES EL CODIGO QUE UTILIZO.

// El Frame para la venta de diálogo de Impresión
Frame f = new Frame();
// Vector para los datos de la Empresa
ArrayList datosEmpresa = new ArrayList();
// Se obtiene el objeto PrintJob
PrintJob pjob = f.getToolkit().getPrintJob( f,"Impresion de Ticket",null );
System.err.println("pjob: "+pjob);
// Se obtiene el objeto graphics sobre el que pintar
Graphics pg = pjob.getGraphics();
// Se fija el font de caracteres con que se escribe

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Sr. Negativo

¿Solo tienes ese código? Es

¿Solo tienes ese código?

Es muy poco para ver que hace ...pero veo que en esta parte

PrintJob pjob = f.getToolkit().getPrintJob( f,"Impresion de Ticket",null );

mandas un valor null ¿no tendrá que ver algo esto con tu problema?

o_0

Imagen de CuicaJavier

Ayuda a los demas

Si pudieras publicar tu código para ayudar a los demás que estamos iniciando en Java sería de mucha ayuda.
Saludos!!

Imagen de JUANCARLOS2511

getPrintJob

HOLA YA INTENTE ENVIANDO NUEVAS PROPIEDADES Y NADA.
LO QUE NO ENTIENDO ES PORQUE EN MI COMPUTADOR FUNCIONA PERFECTAMENTE Y EN OTRO COMPUTADOR NO.
// Variable para obtener la factura
Factura fac = this.buscarFacturaBD(idFac);
// Variable para obtener la altura de la font
int iAlturaFont;
// Para controlar las filas
int iFila;
// La posición del eje Y de la impresión
int iPosY;
// Para manipular datos
String sDato;
// Para imprimir la linea en el ticket
String sLinea;
// El Frame para la venta de diálogo de Impresión
Frame f = new Frame();
System.err.println("Frame: "+f);
// Se obtiene el objeto PrintJob
Toolkit tk = f.getToolkit();
System.err.println("Toolkit: "+tk);
// Se obtiene el objeto PrintJob
PrintJob pjob = tk.getPrintJob( f,"Impresion de Ticket",new Properties());
System.err.println("pjob: "+pjob); //ACA EN EL OTRO PC ME RETORNA NULL.
// Se obtiene el objeto graphics sobre el que pintar
Graphics pg = pjob.getGraphics();
// Se fija el font de caracteres con que se escribe
pg.setFont( new Font( "Lucida Console",Font.PLAIN,14 ) );
// Obtengo la altura de la Font
iAlturaFont = pg.getFontMetrics().getHeight();
// Vector para los datos de la Empresa
ArrayList datosEmpresa = new ArrayList();
// Obtiene los datos de la Empresa
datosEmpresa = this.getInfoEmpresa();
// Encabezado del Ticket --------------------------------------------------
pg.drawString("----------------------------------------",5,iAlturaFont*1 );
pg.drawString(" "+datosEmpresa.get(1),5,iAlturaFont*2 );
//----------------------------------------------------------------
//Lo demas de impresio.
// Se finaliza la página
pg.dispose();
// Se hace que la impresora termine el trabajo e imprima la página
pjob.end();
}

Imagen de neko069

Docs, docs, docs

Tú usas:

PrintJob pjob = tk.getPrintJob( f,"Impresion de Ticket",new Properties());

Cuando en la documentación dice que ése método es abstracto, corresponde a la siguiente firma:

public abstract PrintJob getPrintJob(Frame frame,
                                     String jobtitle,
                                     Properties props)

Por lo tanto tú deberías proveer la implementación correspondiente, en cambio, el que deberías de usar, sería el que corresponde a la siguiente firma:

public PrintJob getPrintJob(Frame frame,
                            String jobtitle,
                            JobAttributes jobAttributes,
                            PageAttributes pageAttributes)
Imagen de JUANCARLOS2511

OK VOY A REVISAR GRACIAS.

OK VOY A REVISAR GRACIAS.

Imagen de JUANCARLOS2511

// El Frame para la venta de

// El Frame para la venta de diálogo de Impresión
Frame f = new Frame();
System.err.println("Frame: "+f);
// Se obtiene el objeto Toolkit
Toolkit tk = f.getToolkit();
System.err.println("tk: "+tk);
// Se obtiene el objeto PrintJob
JobAttributes jobAttributes = new JobAttributes();
System.err.println("jobAttributes: "+jobAttributes);
PageAttributes pageAttributes = new PageAttributes();
System.err.println("pageAttributes: "+pageAttributes);
//PrintJob pjob = tk.getPrintJob( f,"Impresion de Ticket", new Properties() );
PrintJob pjob = tk.getPrintJob(f, "impresion de tikcket", jobAttributes, pageAttributes);
System.err.println("pjob: "+pjob);

Frame: java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=,resizable,normal]
tk: sun.awt.windows.WToolkit@453807
jobAttributes: copies=1,defaultSelection=all,destination=printer,dialog=native,fileName=null,fromPage=1,maxPage=2147483647,minPage=1,multiple-document-handling=separate-documents-uncollated-copies,page-ranges=[1:1],printer=null,sides=one-sided,toPage=1
pageAttributes: color=monochrome,media=iso-a4,orientation-requested=portrait,origin=physical,print-quality=normal,printer-resolution=[72,72,3]
pjob: null

Imagen de JUANCARLOS2511

// El Frame para la venta de

// El Frame para la venta de diálogo de Impresión
Frame f = new Frame();
System.err.println("Frame: "+f);
// Se obtiene el objeto Toolkit
Toolkit tk = f.getToolkit();
System.err.println("tk: "+tk);
// Se obtiene el objeto PrintJob
JobAttributes jobAttributes = new JobAttributes();
System.err.println("jobAttributes: "+jobAttributes);
PageAttributes pageAttributes = new PageAttributes();
System.err.println("pageAttributes: "+pageAttributes);
//PrintJob pjob = tk.getPrintJob( f,"Impresion de Ticket", new Properties() );
PrintJob pjob = tk.getPrintJob(f, "impresion de tikcket", jobAttributes, pageAttributes);
System.err.println("pjob: "+pjob);

Frame: java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=,resizable,normal]
tk: sun.awt.windows.WToolkit@453807
jobAttributes: copies=1,defaultSelection=all,destination=printer,dialog=native,fileName=null,fromPage=1,maxPage=2147483647,minPage=1,multiple-document-handling=separate-documents-uncollated-copies,page-ranges=[1:1],printer=null,sides=one-sided,toPage=1
pageAttributes: color=monochrome,media=iso-a4,orientation-requested=portrait,origin=physical,print-quality=normal,printer-resolution=[72,72,3]
pjob: null

Imagen de JUANCARLOS2511

Buenas tardes. Lo hice de

Buenas tardes. Lo hice de esta forma pero aun me retorna null en el getPrintJob.

// El Frame para la venta de diálogo de Impresión
Frame f = new Frame();
System.err.println("Frame: "+f);
// Se obtiene el objeto Toolkit
Toolkit tk = f.getToolkit();
System.err.println("tk: "+tk);
// Se obtiene el objeto PrintJob
JobAttributes jobAttributes = new JobAttributes();
System.err.println("jobAttributes: "+jobAttributes);
PageAttributes pageAttributes = new PageAttributes();
System.err.println("pageAttributes: "+pageAttributes);
PrintJob pjob = tk.getPrintJob(f, "impresion de tikcket", jobAttributes, pageAttributes);
System.err.println("pjob: "+pjob);

y este es el resultado que me devuelve:

Frame: java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=,resizable,normal]
tk: sun.awt.windows.WToolkit@453807
jobAttributes: copies=1,defaultSelection=all,destination=printer,dialog=native,fileName=null,fromPage=1,maxPage=2147483647,minPage=1,multiple-document-handling=separate-documents-uncollated-copies,page-ranges=[1:1],printer=null,sides=one-sided,toPage=1
pageAttributes: color=monochrome,media=iso-a4,orientation-requested=portrait,origin=physical,print-quality=normal,printer-resolution=[72,72,3]

pjob: null

Imagen de neko069

Y si intentaras llenar los

Y si intentaras llenar los objetos JobAttributes y PageAttributes con algunos valores? en la documentación del API te describe los valores posibles(dale click a las clases, y te manda a la API).
Por favor, cuando coloques código, hazlo entre tags de <code> y </code> que duelen los ojos de tratar de leer.