¿Cómo imprimir el contenido de un jtextArea? Urge

Tengo jtextarea dentro de un jframe, y solo deseo imprimir el contenido del textarea, solamente el contenido, no deseo nada más del frame, que clase debo de implementar y que sentencias debo usar porque la verdad jamas se me había opcurrido dicha situación
Por el momento no tengo ni impresora de tickets (que creo que se conecta al puerto COM) ni impresora LPT, podrían ayudarme con imprimir a un archivo aunque también me gustaría que me dijeran como mandar imprimir a una impresora LPT que es lo que más pronto podre conseguir...

1 respuesta

Respuesta
1
Teóricamente, tienes que realizar las siguientes operaciones:
1) Crear una clase impresora, que tenga un PrintJob, que permita acceder a los trabajos de impresión, y un método imprimir, que se encargue de imprimir lo recibido.
2) Crear un JButton que implemente MouseListener, de tal manera que el usuario pueda usar dicho botón para imprimir. Para ello, debe comunicar con el JTextArea y llamar al método getText.
Líneas de código que te pueden venir bien son las siguientes, tendrás que currártelo con las siguientes pistas.
PrintJob pj = Toolkit.getDefaultToolkit().getPrintJob(new Frame(), "SCAT", null);
public void imprimir(String Cadena)
    {
        //LO COLOCO EN UN try/catch PORQUE PUEDEN CANCELAR LA IMPRESION
        try
        {
            pagina = pj.getGraphics();
            pagina.setFont(fuente);
            pagina.setColor(Color.black);
            pagina.drawString(Cadena, 60, 60);
            pagina.dispose();
            pj.end();
        }catch(Exception e)
        {
            System.out.println("LA IMPRESION HA SIDO CANCELADA...");
        }
    }//FIN DEL PROCEDIMIENTO imprimir(String...)
}//FIN DE LA CLASE Impresora
imprimir = new JButton("IMPRIMIR");
//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());
            }
        });
Pues bien, parece que es la única forma que existe, es lo que encuentro en casi todo sitio de internet relacionado al tema... de que funciona funciona pero pues bien, buscaba algo más simple

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas