Imprimir Jasper + iReport + JDesktopPane + JInternalFrame

2 respostas
J

Caros Colegas,

Sou uma pessoa que sempre tenho o PortalJava como referência, principalmente agora que estou fazendo um projeto final e este forum ja me ajudou muito, porém em minhas buscas, não consegui uma solução, que peço a ajuda de todos.

Bom, tenho uma aplicação que roda com o JDesktopPane, onde cada classe abro em um JInternalFrame atravez do menu, ate o momento tudo bem.

Porem chegou na parte impressão e é onde tá pegando, pois fiz várias pesquisas e nao consigo fazer funcionar.

Começei a tentar usar o JasperReport, instalei no NetBens, coloquei no CLASSPATH e esta tudo OK, reconhecendo os metodos e tudo mais, porem quando baixei o IReport para gerar o jrxml. O iReport não esta no CLASSPATH, creio que nao seja necessario.

1 - Não sei porque o próprio IReport não exibe o report, onde seria o primeiro problema, ele gera, faz a conexão com banco dando ok, porem quando apero na seta para executar, aparece na janela do console de saida informando que executou, mas nao aparece nada, mesmo gerando o arquivo .jasper.

2 - Sem exibir o relaatorio no IReport, mas criando o JRXML e o jasper, tentei implementar na minha aplição, porem não estou conseguindo fazer a integração.

PS: A aplicação e local, usando o NetBens, com banco ACCESS.

A principio existe um JInternalFrame que exibe um JTable - ResultSet com os campos de uma tabela do Banco de Dados, que esta Ok, e logo acima um botão imprimir, que seria a ideia de apresentar o JRXML.

Então peço a ajuda dos colegas para ajudar a mostar este relatorio, onde eu compilo esta classe e fica ok, porem quando executo a ação de clicar no botão imprimir, aparece o seguinte erro.

[color=“red”][erro]

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at java.io.File.<init>(File.java:222)

at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)

at sfpt.ClsRelContaExibe.gerar(ClsRelContaExibe.java:180)

at sfpt.ClsRelContaExibe.jbimprimeActionPerformed(ClsRelContaExibe.java:167)

at sfpt.ClsRelContaExibe.access$000(ClsRelContaExibe.java:41)

at sfpt.ClsRelContaExibe$1.actionPerformed(ClsRelContaExibe.java:82)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

[/erro][/color]

JInternalFrame que exibe a Tabela, junto com o botão imprimir.

package sfpt;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
import temp.JasperReportExemple;

public class ClsRelContaExibe extends JPanel implements ActionListener &#123;
    
    public ClsRelContaExibe&#40;&#41; &#123;
        //conexao do banco
        try &#123;
            url = "jdbc&#58;odbc&#58;sfp";
            Class.forName&#40; "sun.jdbc.odbc.JdbcOdbcDriver" &#41;;
            connection = DriverManager.getConnection&#40; url &#41;;
        &#125; catch &#40; ClassNotFoundException cnfex &#41; &#123;
            // processa ClassNotFoundExceptions aqui
            JOptionPane.showMessageDialog&#40;
                    null, "A conexão falhou!\n" + cnfex.toString&#40;&#41;, "Aviso",
                    JOptionPane.WARNING_MESSAGE &#41;;
        &#125; catch &#40; SQLException sqlex &#41; &#123;
            // processa SQLExceptions aqui
            JOptionPane.showMessageDialog&#40;
                    null, "A conexão falhou!\n", "Aviso",
                    JOptionPane.WARNING_MESSAGE &#41;;
        &#125; catch &#40; Exception ex &#41; &#123;
            // processa Exceptions remanescentes aqui
            JOptionPane.showMessageDialog&#40;
                    null, ex.toString&#40;&#41;, "Aviso",
                    JOptionPane.WARNING_MESSAGE &#41;;
        &#125;
        initComponents&#40;&#41;;
    &#125;
    
    private void initComponents&#40;&#41; &#123;
        
        jSeparator1 = new JSeparator&#40;&#41;;
        jsprelcontaexibe = new JScrollPane&#40;&#41;;
        jtrelcontaexibe = new JTable&#40;&#41;;
        jbimprime = new JButton&#40;&#41;;
        
        
        jbimprime.setText&#40;"Imprimir"&#41;;
        jbimprime.setMaximumSize&#40;new java.awt.Dimension&#40;74, 23&#41;&#41;;
        jbimprime.setMinimumSize&#40;new java.awt.Dimension&#40;74, 23&#41;&#41;;
        jbimprime.setPreferredSize&#40;new java.awt.Dimension&#40;74, 23&#41;&#41;;
        jbimprime.addActionListener&#40;new ActionListener&#40;&#41; &#123;
            public void actionPerformed&#40;ActionEvent evt&#41; &#123;
                jbimprimeActionPerformed&#40;evt&#41;;
            &#125;
        &#125;&#41;;
        
        
        jtrelcontaexibe = new JTable&#40;linhaCorrente, nomeColunas&#41;;
        JScrollPane jsprelcontaexibe = new JScrollPane&#40;jtrelcontaexibe&#41;;
        jtrelcontaexibe.setVisible&#40;true&#41;;
        
        try &#123;
            Statement statement = connection.createStatement&#40;&#41;;
            String query = "SELECT * FROM tabconta";
            ResultSet rs = statement.executeQuery&#40; query &#41;;
            
            ResultSetMetaData metaData = rs.getMetaData&#40;&#41;;
            
            // nome das colunhas
            String&#91;&#93; colunas = new String&#91; metaData.getColumnCount&#40;&#41; &#93;;
            for &#40; int i = 0; i &lt; colunas.length; i++ &#41; &#123;
                colunas&#91; i &#93; = metaData.getColumnName&#40; i + 1 &#41;;
            &#125;
            
            // cria um modelo
            DefaultTableModel modelo = new DefaultTableModel&#40; colunas, 0 &#41;;
            
            // preenche o modelo
            while &#40; rs.next&#40;&#41; &#41; &#123;
                
                // uma linha
                String&#91;&#93; linha = new String&#91; colunas.length &#93;;
                
                // adiciona valores na linha
                for &#40; int i = 0; i &lt; colunas.length; i++ &#41; &#123;
                    linha&#91; i &#93; = rs.getString&#40; i + 1 &#41;;
                &#125;
                
                // adiciona a linha
                modelo.addRow&#40; linha &#41;;
            &#125;
            
            // seta o modelo na tabela
            jtrelcontaexibe.setModel&#40; modelo &#41;;
            
        &#125; catch &#40; SQLException exc &#41; &#123;
            JOptionPane.showMessageDialog&#40;
                    null, exc, "Aviso",
                    JOptionPane.PLAIN_MESSAGE &#41;;
            //System.out.println&#40; exc &#41;;
        &#125;
        
        // Criacao do Layout
        GroupLayout layout = new GroupLayout&#40;this&#41;;
        setLayout&#40;layout&#41;;
        layout.setHorizontalGroup&#40;
                layout.createParallelGroup&#40;javax.swing.GroupLayout.Alignment.LEADING&#41;
                .addGroup&#40;layout.createSequentialGroup&#40;&#41;
                .addGroup&#40;layout.createParallelGroup&#40;javax.swing.GroupLayout.Alignment.LEADING&#41;
                .addGroup&#40;layout.createSequentialGroup&#40;&#41;
                .addContainerGap&#40;&#41;
                .addGroup&#40;layout.createParallelGroup&#40;javax.swing.GroupLayout.Alignment.LEADING&#41;
                .addComponent&#40;jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE&#41;
                .addComponent&#40;jsprelcontaexibe, javax.swing.GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE&#41;&#41;&#41;
                .addGroup&#40;layout.createSequentialGroup&#40;&#41;
                .addGap&#40;172, 172, 172&#41;
                .addComponent&#40;jbimprime, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE&#41;&#41;&#41;
                .addContainerGap&#40;&#41;&#41;
                &#41;;
        layout.setVerticalGroup&#40;
                layout.createParallelGroup&#40;javax.swing.GroupLayout.Alignment.LEADING&#41;
                .addGroup&#40;layout.createSequentialGroup&#40;&#41;
                .addContainerGap&#40;&#41;
                .addComponent&#40;jbimprime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE&#41;
                .addGap&#40;15, 15, 15&#41;
                .addComponent&#40;jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE&#41;
                .addPreferredGap&#40;javax.swing.LayoutStyle.ComponentPlacement.RELATED&#41;
                .addComponent&#40;jsprelcontaexibe, javax.swing.GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE&#41;
                .addContainerGap&#40;&#41;&#41;
                &#41;;
        
    &#125;
    
    private void jbimprimeActionPerformed&#40;ActionEvent evt&#41;
    &#123;
        JOptionPane.showMessageDialog&#40;null, "Imprimindo"&#41;;
        try &#123;
            gerar&#40;&#41;;
        &#125; catch &#40;JRException ex&#41; &#123;
            ex.printStackTrace&#40;&#41;;
        &#125; catch &#40;SQLException ex&#41; &#123;
            ex.printStackTrace&#40;&#41;;
        &#125; catch &#40;ClassNotFoundException ex&#41; &#123;
            ex.printStackTrace&#40;&#41;;
        &#125;
        
    &#125;
    
    public void gerar&#40;&#41; throws JRException , SQLException, ClassNotFoundException &#123;
        //gerando o jasper design
        JasperDesign desenho = JRXmlLoader.load&#40; layout &#41;;
        
        //compila o relatório
        JasperReport relatorio = JasperCompileManager.compileReport&#40; desenho &#41;;
        
        //estabelece conexão
            Statement statement = connection.createStatement&#40;&#41;;
            String query = "SELECT * FROM tabconta";
            ResultSet rs = statement.executeQuery&#40; query &#41;;
        
        //implementação da interface JRDataSource para DataSource ResultSet
        JRResultSetDataSource jrRS = new JRResultSetDataSource&#40; rs &#41;;
        
        //executa o relatório
        Map parametros = new HashMap&#40;&#41;;
        parametros.put&#40;"nota", new Double&#40;10&#41;&#41;;
        JasperPrint impressao = JasperFillManager.fillReport&#40; relatorio , parametros,    jrRS &#41;;
        
        //exibe o resultado
        JasperViewer viewer = new JasperViewer&#40; impressao , true &#41;;
        viewer.setVisible&#40;true&#41;;
    
        try &#123;
            new JasperReportExemple&#40;&#41;.gerar&#40; "iRCadConta.jrxml" &#41;;
        &#125; catch &#40;Exception e&#41; &#123;
            e.printStackTrace&#40;&#41;;
        &#125;
    &#125;
    
    public void actionPerformed&#40;ActionEvent e&#41; &#123;
    &#125;    
    
    // Declaração de variáveis
    private JSeparator jSeparator1;
    private JButton jbimprime;
    private JScrollPane jsprelcontaexibe;
    private JTable jtrelcontaexibe;
    // Fim da declaração de variáveis
    
    private TableColumnModel nomeColunas;
    private TableModel linhaCorrente;
    private Connection connection;
    private String url;
    private String layout;
    
&#125;

Abaixo o JRXML

&lt;?xml version="1.0" encoding="UTF-8"  ?&gt;
&lt;!-- Created with iReport - A designer for JasperReports --&gt;
&lt;!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http&#58;//jasperreports.sourceforge.net/dtds/jasperreport.dtd"&gt;
&lt;jasperReport
		 name="iRCadConta"
		 columnCount="1"
		 printOrder="Vertical"
		 orientation="Portrait"
		 pageWidth="595"
		 pageHeight="842"
		 columnWidth="535"
		 columnSpacing="0"
		 leftMargin="30"
		 rightMargin="30"
		 topMargin="20"
		 bottomMargin="20"
		 whenNoDataType="NoPages"
		 isTitleNewPage="false"
		 isSummaryNewPage="false"&gt;
	&lt;property name="ireport.scriptlethandling" value="0" /&gt;
	&lt;property name="ireport.encoding" value="UTF-8" /&gt;
	&lt;import value="java.util.*" /&gt;
	&lt;import value="net.sf.jasperreports.engine.*" /&gt;
	&lt;import value="net.sf.jasperreports.engine.data.*" /&gt;

	&lt;queryString&gt;&lt;!&#91;CDATA&#91;SELECT * FROM tabconta&#93;&#93;&gt;&lt;/queryString&gt;

	&lt;field name="codcontaconta" class="java.lang.Integer"/&gt;
	&lt;field name="codbanco" class="java.lang.String"/&gt;
	&lt;field name="databerturaconta" class="java.sql.Timestamp"/&gt;
	&lt;field name="nomebanco" class="java.lang.String"/&gt;
	&lt;field name="descriconta" class="java.lang.String"/&gt;
	&lt;field name="agconta" class="java.lang.String"/&gt;
	&lt;field name="contaconta" class="java.lang.String"/&gt;
	&lt;field name="teleconta" class="java.lang.String"/&gt;
	&lt;field name="faxconta" class="java.lang.String"/&gt;
	&lt;field name="gerconta" class="java.lang.String"/&gt;
	&lt;field name="limiteconta" class="java.lang.Integer"/&gt;
	&lt;field name="venceconta" class="java.sql.Timestamp"/&gt;
	&lt;field name="emailconta" class="java.lang.String"/&gt;
	&lt;field name="homepageconta" class="java.lang.String"/&gt;

		&lt;background&gt;
			&lt;band height="0"  isSplitAllowed="true" &gt;
			&lt;/band&gt;
		&lt;/background&gt;
		&lt;title&gt;
			&lt;band height="50"  isSplitAllowed="true" &gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="5"
						width="534"
						height="40"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement textAlignment="Center"&gt;
						&lt;font size="30"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Relatórios das Contas Cadastradas&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;line direction="TopDown"&gt;
					&lt;reportElement
						x="0"
						y="48"
						width="534"
						height="0"
						key="line"/&gt;
					&lt;graphicElement stretchType="NoStretch"/&gt;
				&lt;/line&gt;
				&lt;line direction="TopDown"&gt;
					&lt;reportElement
						x="0"
						y="3"
						width="534"
						height="0"
						key="line"/&gt;
					&lt;graphicElement stretchType="NoStretch"/&gt;
				&lt;/line&gt;
			&lt;/band&gt;
		&lt;/title&gt;
		&lt;pageHeader&gt;
			&lt;band height="10"  isSplitAllowed="true" &gt;
				&lt;line direction="BottomUp"&gt;
					&lt;reportElement
						x="0"
						y="9"
						width="535"
						height="0"
						key="line"/&gt;
					&lt;graphicElement stretchType="NoStretch"/&gt;
				&lt;/line&gt;
			&lt;/band&gt;
		&lt;/pageHeader&gt;
		&lt;columnHeader&gt;
			&lt;band height="0"  isSplitAllowed="true" &gt;
			&lt;/band&gt;
		&lt;/columnHeader&gt;
		&lt;detail&gt;
			&lt;band height="278"  isSplitAllowed="true" &gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="2"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.Integer"&gt;&lt;!&#91;CDATA&#91;$F&#123;codcontaconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="2"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Codigo do Cadastro&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="21"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;codbanco&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="21"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Codigo do Banco&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="40"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.sql.Timestamp"&gt;&lt;!&#91;CDATA&#91;$F&#123;databerturaconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="40"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Data da Abertura&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="59"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;nomebanco&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="59"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Nome do Banco&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="78"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;descriconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="78"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Descricao da Conta&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="97"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;agconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="97"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Agencia da Conta&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="116"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;contaconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="116"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Numero da Conta&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="135"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;teleconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="135"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Telefone da Agencia&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="154"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;faxconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="154"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Fax da Agencia&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="173"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;gerconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="173"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Gerente da Conta&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="192"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.Integer"&gt;&lt;!&#91;CDATA&#91;$F&#123;limiteconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="192"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Limite da Conta&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="211"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.sql.Timestamp"&gt;&lt;!&#91;CDATA&#91;$F&#123;venceconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="211"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Vencimento da Conta&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="230"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;emailconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="230"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;E-mail da Agencia&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="144"
						y="249"
						width="381"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;$F&#123;homepageconta&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;staticText&gt;
					&lt;reportElement
						x="0"
						y="249"
						width="131"
						height="17"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="staticText"
						positionType="Float"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="12"/&gt;
					&lt;/textElement&gt;
				&lt;text&gt;&lt;!&#91;CDATA&#91;Página da Agencia&#58;&#93;&#93;&gt;&lt;/text&gt;
				&lt;/staticText&gt;
			&lt;/band&gt;
		&lt;/detail&gt;
		&lt;columnFooter&gt;
			&lt;band height="0"  isSplitAllowed="true" &gt;
			&lt;/band&gt;
		&lt;/columnFooter&gt;
		&lt;pageFooter&gt;
			&lt;band height="27"  isSplitAllowed="true" &gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="325"
						y="4"
						width="170"
						height="19"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement textAlignment="Right"&gt;
						&lt;font size="10"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;"Page " + $V&#123;PAGE_NUMBER&#125; + " of "&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Report" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="499"
						y="4"
						width="36"
						height="19"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="10"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.lang.String"&gt;&lt;!&#91;CDATA&#91;"" + $V&#123;PAGE_NUMBER&#125;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;line direction="TopDown"&gt;
					&lt;reportElement
						x="0"
						y="3"
						width="535"
						height="0"
						key="line"/&gt;
					&lt;graphicElement stretchType="NoStretch"/&gt;
				&lt;/line&gt;
				&lt;textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" &gt;
					&lt;reportElement
						x="1"
						y="6"
						width="209"
						height="19"
						forecolor="#000000"
						backcolor="#FFFFFF"
						key="textField"/&gt;
					&lt;box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/&gt;
					&lt;textElement&gt;
						&lt;font size="10"/&gt;
					&lt;/textElement&gt;
				&lt;textFieldExpression   class="java.util.Date"&gt;&lt;!&#91;CDATA&#91;new Date&#40;&#41;&#93;&#93;&gt;&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
			&lt;/band&gt;
		&lt;/pageFooter&gt;
		&lt;summary&gt;
			&lt;band height="0"  isSplitAllowed="true" &gt;
			&lt;/band&gt;
		&lt;/summary&gt;
&lt;/jasperReport&gt;

2 Respostas

T

vamos por parte companheiro, se vc está usando as versões 1.3.2 ou 1.3.3 do ireport elas não são estavies, aqui comigo somente funcionam da 1.3.1 para tráz… se esse for o casao baixe ela e desinstale o mais novo…
agora vamos com o codigo… para integrar o relatorio ao seu software…
Para somente imprimir sem visualização…

JasperReport jr = JasperCompileManager.compileReport&#40;this.getClass&#40;&#41;.getResourceAsStream&#40;"/relatorios/arquivo.jrxml"&#41;&#41;;
            HashMap parameters = new HashMap&#40;&#41;;
            parameters.put&#40;"PARAMETRO1",seu parametroaqui&#41;;
            
            JasperPrint impressao = JasperFillManager.fillReport&#40;jr,parameters,conexao1.getConnection&#40;&#41;&#41;;
            int finalPag =impressao.getPages&#40;&#41;.size&#40;&#41;-1;
            JasperPrintManager.printPages&#40;impressao, 0 , finalPag ,true&#41;;

Para visualizar usse assim

JasperReport jr = JasperCompileManager.compileReport&#40;this.getClass&#40;&#41;.getResourceAsStream&#40;"/relatorios/relatorio1.jrxml"&#41;&#41;;
            HashMap parameters = new HashMap&#40;&#41;;
JasperPrint impressao = JasperFillManager.fillReport&#40;jr,parameters,BC.get_con&#40;&#41;&#41;;
            JasperViewer jrviewer = new JasperViewer&#40;impressao,false&#41;;
            jrviewer.setVisible&#40;true&#41;;
            jrviewer.setExtendedState&#40;JasperViewer.MAXIMIZED_BOTH&#41;;

Com issu dá pra se virar…

A

Cara,

Como é que eu crio uma classe com este código em java?

Grato,

Criado 15 de junho de 2007
Ultima resposta 28 de jun. de 2007
Respostas 2
Participantes 3