Componente para visualizar impressão e imprimir

Olá pessoal, estou com outro projeto!!!
O componente visualiza e imprime documentos feitos com JPanel, possui opções de configurar impressora e imprimir as páginas entre outras opções de navegação. Semelhante ao utilizando em programas de edição de texto.

download: JVP

código da página:


/*
* PaPel.java
*
* Created on 6 de Fevereiro de 2007, 15:04
*/

package brandao.teste;

/**
*
* @author  NETO
*/
public class PaPel extends javax.swing.JPanel {
    
    /** Creates new form PaPel */
    public PaPel() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        jLabel3 = new javax.swing.JLabel();
        jImagePanel1 = new brandao.util.swing.JImagePanel();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();

        setLayout(null);

        setBackground(new java.awt.Color(255, 255, 255));
        setMinimumSize(new java.awt.Dimension(596, 823));
        setPreferredSize(new java.awt.Dimension(596, 823));
        jLabel3.setIcon(new javax.swing.ImageIcon("C:\Documents and Settings\NETO\Desktop\cabecalho_carro1.jpg"));
        add(jLabel3);
        jLabel3.setBounds(20, 10, 200, 100);

        jImagePanel1.setImage(new javax.swing.ImageIcon("C:\Documents and Settings\NETO\Meus documentos\Minhas imagens\seattle-sunset.jpg"));
        javax.swing.GroupLayout jImagePanel1Layout = new javax.swing.GroupLayout(jImagePanel1);
        jImagePanel1.setLayout(jImagePanel1Layout);
        jImagePanel1Layout.setHorizontalGroup(
            jImagePanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 600, Short.MAX_VALUE)
        );
        jImagePanel1Layout.setVerticalGroup(
            jImagePanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 250, Short.MAX_VALUE)
        );
        add(jImagePanel1);
        jImagePanel1.setBounds(0, 210, 600, 580);

        jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 36));
        jLabel2.setForeground(new java.awt.Color(51, 153, 255));
        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel2.setText("brandao.swing.JVImpressao");
        add(jLabel2);
        jLabel2.setBounds(10, 60, 590, 42);

        jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 36));
        jLabel1.setForeground(new java.awt.Color(51, 153, 255));
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("TESTE DE IMPRESS\u00c3O");
        add(jLabel1);
        jLabel1.setBounds(0, 140, 600, 42);

    }// </editor-fold>                        
    
    
    // Variables declaration - do not modify                     
    private brandao.util.swing.JImagePanel jImagePanel1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    // End of variables declaration                   
    
}

imagem:

código exemplo:


/*
* Teste.java
*
* Created on 7 de Março de 2007, 11:00
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package brandao.teste;

/**
*
* @author NETO
*/
public class Teste {
    
    /** Creates a new instance of Teste */
    public Teste() {
    }
    
    public static void main(String[] args) {    
        brandao.teste.PaPel papel = new PaPel();
        try{
            brandao.swing.JVisualizarImpressao jvp = new brandao.swing.JVisualizarImpressao( new javax.swing.JFrame(), true );
            jvp.getJVImpressao1().addPagina(papel);
            jvp.getJVImpressao1().selecionarPagina(0);
            jvp.setVisible(true);            
        }
        catch(Exception e){
            System.out.println(e.getMessage());
        }
    }
}

imagem:

Se alguém tiver alguma dúvida ou crítica é só falar!

Alguns resultados obtidos com o componente

Legal! Quando eu voltar para um lugar com impressora eu testo =)

Sempre tenho problemas ao tentar imprimir algo. Nunca funciona no Linux.

Olá,
Estou precisando fazer algo semelhante a este projeto. Tentei pegar no endereço http://sourceforge.net/projects/jvp/, porém o projeto não está mais lá.
Alguém pode enviar para mim?
Obrigada
Cintia

Olá!

Eu também gostaria de olhar e testar o projeto…

Se puderem enviar pra mim também!!

Obrigado!!!

Olá pessoal, por gentileza caso alguém tenha o projeto se puder me enviar eu agradeceria, pois estou precisando muito imprimir o conteúdo de um componente swing.

Muito obrigado.

Não tem como vc disponibilizar o código completo?