hola, tengo un problema al intentar imprimir algo desde java, he probado un ejemplo sencillo y no hay forma de que funcione, bajé un codigo y probé de imprimir y lo hace el tema es que demora como 5 min en llegar a la impresora, estoy haciendo reportes con ireport y si genero el report y lo visualizo y ahi elijo de imprimir anda bien, rapido , pero si lo exporto al report usando un JRPrintServiceExporter demora lo mismo, que puede ser?? tengo windows xp y jvm 1.6. por favor necesito ayudaaa
este es el codigo del ejemplo que probé:
import java.awt.*;
import javax.swing.*;
import java.util.EventListener.*;
import java.*;
import java.awt.event.*;
public class Programa extends JFrame
{
String cadena;
JTextField campo;
JButton imprimir;
JLabel info;
Impresora imp;
JPanel principal = new JPanel(new BorderLayout());
JPanel etiq = new JPanel(new FlowLayout());
JPanel dos = new JPanel(new FlowLayout());
//CONSTRUCTOR DE LA CLASE
Programa()
{
super("Muestra Simple de Impresión en JAVA...");
info = new JLabel("ESCRIBA ALGO EN EL CAMPO Y HAGA CLIC EN IMPRIMIR...");
cadena = new String();
campo = new JTextField(30);
imprimir = new JButton("IMPRIMIR");
dos.add(campo);
dos.add(imprimir);
etiq.add(info);
campo.setToolTipText("ESCRIBA ALGO AQUÍ...");
imprimir.setToolTipText("CLIC AQUI PARA IMPRIMIR...");
principal.add(etiq, BorderLayout.NORTH);
principal.add(dos, BorderLayout.CENTER);
getContentPane().add(principal);
//AJUSTO EL TAMAÑO DE LA VENTANA AL MINIMO
pack();
//NO PERMITO QUE PUEDAN CAMBIAR EL TAMAÑO DE LA VENTANA
this.setResizable(false);
//AHORA LA CENTRARÉ EN LA PANTALLA
Dimension pantalla, cuadro;
pantalla = Toolkit.getDefaultToolkit().getScreenSize();
cuadro = this.getSize();
this.setLocation(((pantalla.width - cuadro.width)/2),
(pantalla.height - cuadro.height)/2);
//LE AGREGAMOS EL EVENTO AL BOTON "imprimir"
imprimir.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
cadena = "";
cadena = String.valueOf(campo.getText());
if (!cadena.equals(""))
{
imp = new Impresora();
imp.imprimir(cadena);
}
else System.out.println("NO SE IMPRIME NADA EN BLANCO...");
campo.requestFocus();
campo.select(0, cadena.length());
}
});
}//FIN DEL CONSTRUCTOR
public static void main(String jm[])
{
Programa p = new Programa();
p.show();
p.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
});
}//FIN DEL MAIN
}