Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Impresión de Interfaz Gráfica de Usuario

Impresión de Interfaz Gráfica de Usuario

Autor jc mouse domingo, marzo 24, 2019

En este post veremos como imprimir secciones de un formulario en java implementando la Interface Printable.

La clase que implementa Printable debe sobreescribir el método print para indicarle al PrintJob  que componente de nuestra interfaz de usuario debe imprimir, esto en la instancia que implementa Printable que llama para imprimir los gráficos.

Pero comprenderemos mucho mejor con un ejemplo.

print gui

Si  tuviéramos un formulario como el siguiente:

app demo

Y si queremos imprimir ciertas partes del mismo o todo el formulario en si, podemos hacerlo con la siguiente clase «MiPrintable.java». El código es el siguiente:

import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import static java.awt.print.Printable.NO_SUCH_PAGE;
import static java.awt.print.Printable.PAGE_EXISTS;
import java.awt.print.PrinterException;
/**
 * @see https://www.jc-mouse.net
 * @author mouse
 */
public class MiPrintable implements Printable {
    
    private Component component;

    public MiPrintable(Component component) {
        this.component = component;
    }

    @Override
    public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
        if (pageIndex > 0) {
            return NO_SUCH_PAGE;
        }
        Graphics2D g2d = (Graphics2D) graphics;        
        g2d.translate(20, 20);
        component.paint(g2d);        
        return PAGE_EXISTS;
    }
    
}

Esta clase debemos implementarla en donde queramos hacer la llamada a impresión con PrinterJob. por ejemplo des de un botón [Imprimir GUI]

 1     private void btnImprimirActionPerformed(java.awt.event.ActionEvent evt) {                                            
 2         MiPrintable mp = new MiPrintable(this);
 3         PrinterJob job = PrinterJob.getPrinterJob();
 4         job.setPrintable(mp);
 5         boolean ok = job.printDialog();
 6         if (ok) {
 7             try {
 8                 job.print();
 9             } catch (PrinterException ex) {
10                 System.err.println(ex.getMessage());
11             }
12         }
13     } 

donde en [2] al crear una nueva instancia de nuestra clase MiPrintable,java, pasamos como parámetro el componente que queremos imprimir, en este caso todo el formulario completo (this), ejecutando tenemos:

pdf printer

Y de la misma forma, para cada sección en particular que queramos imprimir, solo debemos indicar el componente en «MiPrintable.java»

printable document

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Crea tu propia aplicacion para realizar llamadas

Crea tu propia aplicacion para realizar llamadas

En este tutorial Android Bolivia 🙂 construiremos una sencilla aplicación para realizar llamadas por teléfono, aprenderem...

Petya: Nuevo ataque mundial de ransomware

Petya: Nuevo ataque mundial de ransomware

Un nuevo ataque mundial de ransomware a bloqueado documentos electrónicos de dos grandes multinacionales españolas, la e...

Pilas con C Sharp (Ejercicio Resuelto)

Pilas con C Sharp (Ejercicio Resuelto)

Desarrolle un programa en consola con un menú para el usuario que permita agregar elementos a una pila, eliminar element...

MariaDB: Tablas Virtuales (Vistas – View)

MariaDB: Tablas Virtuales (Vistas – View)

¿Qué es una vista? Una vista (View) o Tabla Virtual, es una forma lógica de ver los datos ubicados en varias tablas, es...

Crea un componente swing para cargar fotos en miniaturas

Crea un componente swing para cargar fotos en miniaturas

En este tutorial crearemos un componente swing para java que podremos usar en cualquiera de nuestros proyectos, el compo...

Subir imagen a un servidor web con REST/JSON

Subir imagen a un servidor web con REST/JSON

En este tutorial crearemos una sencilla aplicación para android que nos permitirá subir una imagen a un servidor web. La...

Comparte lo que sabes

Categorias

Últimas entradas

En muchas ocasiones es necesaria la personalización de componentes java para que estos se adecuen a nuestros requerimien...

En este post mostramos como personalizar el Header (encabezado) de un componente JTable en Java colocando iconos, centra...

El JTable de Java es un gran componente para mostrar datos en una tabla de una forma rápida y sencilla, sin embargo en v...

En este post veremos un ejemplo sencillo de como descargar desde Internet archivos de cualquier tipo (*.jpg, *.png, *.gi...

Herramientas

Generador de Enlaces a Whatsapp