Relatório

Como faço pra gerar um relatório no NetBeans, apartir de cadastros no MySql, preciso disso pra terminar meu PI, se alguém puder me ajudar…

grato

Instale o iReport com JasperReport, existem plugins específicos, após as devidas configurações pesquise no YouTube algumas vídeo aulas sobre o iReport, você verá que não é tão complicado.

Acesse: http://www.youtube.com/watch?v=J1S62IXbya8

Valeu!!!

Bom, eu gerei o relatorio.jasper e relatorio.jrxml, agora quero fazer uma aplicação com o botão “Gerar Relatório”, e ele aparecer… não achei em local algum, se puderem me ajudar… grato.

Bom, se voce for gerar um relatório sem parametros,
no botão que for gerar o relatorio…voce cria no evento.
primeiro vc chama a conexao do bd
depois um exemplo do codigo para gerar o relatorio

JasperReport relatorio = JasperCompileManager.compileReport("C:\Clientes.jrxml");
                 HashMap parametros = new HashMap();
                JasperPrint jp = JasperFillManager.fillReport(relatorio, parametros, con);//esse con é a conexao.....
                JasperViewer jrv = new JasperViewer(jp);
                jrv.setVisible(true);

olha se te ajuda…

private void jMenuItem20ActionPerformed(java.awt.event.ActionEvent evt) {
    JasperReport relatorio = null;
    try {
        relatorio = JasperCompileManager.compileReport("C:\\Clientes.jrxml");
    } catch (JRException ex) {
        Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
    }
                 HashMap parametros = new HashMap();
                JasperPrint jp = null;
    try {
        jp = JasperFillManager.fillReport(relatorio, parametros, Conexao.getConexao()); //esse con é a conexao.....
    } catch (JRException ex) {
        Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
    }
                JasperViewer jrv = new JasperViewer(jp);
                jrv.setVisible(true);
}

run:
03/07/2011 13:34:29 gerenciadordetreino.view.TelaPrincipal jMenuItem20ActionPerformed
GRAVE: null
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: C:\Clientes.jrxml (O sistema não pode encontrar o arquivo especificado)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:172)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:150)
at gerenciadordetreino.view.TelaPrincipal.jMenuItem20ActionPerformed(TelaPrincipal.java:384)
at gerenciadordetreino.view.TelaPrincipal.access$1200(TelaPrincipal.java:30)
at gerenciadordetreino.view.TelaPrincipal$13.actionPerformed(TelaPrincipal.java:221)
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.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.io.FileNotFoundException: C:\Clientes.jrxml (O sistema não pode encontrar o arquivo especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:167)
… 43 more
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:138)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:421)
at gerenciadordetreino.view.TelaPrincipal.jMenuItem20ActionPerformed(TelaPrincipal.java:391)
at gerenciadordetreino.view.TelaPrincipal.access$1200(TelaPrincipal.java:30)
at gerenciadordetreino.view.TelaPrincipal$13.actionPerformed(TelaPrincipal.java:221)
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.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

onde estou errando?

Conforme o amigo acima disse de uma olhada no ireport. depois você tem na sua classe getNome ex, cri um field no ireport nome… saca os fields tem q ser no padraoJava … crie o field pela barra da esquerda com o direito add field e não pela paleta.
na hora de criar o jasper verifique se não esta groove… tem q ser java… em language

depois

		List<AgendamentoTO> beanCollection = listaAgendamento; // sua lista de seu objeto traga do seu DAO normalmente seuDAO.listarTodos();
		HashMap parametros = new HashMap();
		
		InputStream inputStream = getClass().getResourceAsStream(
				"/util/report/Agendamento.jasper"); // coloque o seu jasper em um pacote do seu projeto... quando você tiver fazendo testes sem telas não é getClass coloque MeuTeste.class.getReso....
		JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(
				beanCollection);
		JasperPrint impressao = null;
		try {
			impressao = JasperFillManager.fillReport(inputStream, parametros,
					ds);
			GeraPDF showPDF = new GeraPDF(impressao);
			showPDF.setLocationRelativeTo(null);
			showPDF.setModal(true);
			showPDF.setVisible(true);
		} catch (JRException e) {

		}

ai ta a classe para mostrar o resultado


package util;

import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.KeyStroke;

import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.swing.JRViewer;

@SuppressWarnings("serial")
public class GeraPDF extends JDialog {

	private JRViewer result;

	public GeraPDF(JasperPrint jasperPrint) {
		printarGeratorio(jasperPrint);
	}

	private void printarGeratorio(JasperPrint pRelatorio) {

		result = new JRViewer(pRelatorio);
		result.setZoomRatio(0.90f);

		Integer largura = (Toolkit.getDefaultToolkit().getScreenSize().width) - 10;
		Integer altura = (Toolkit.getDefaultToolkit().getScreenSize().height) - 30;

		setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
		setMinimumSize(new java.awt.Dimension(largura, altura));
		this.setSize(largura, altura);
		setLayout(new BorderLayout());
		add(result, BorderLayout.CENTER);

		getRootPane().getActionMap().put("esc", cancelarAction);
		getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
				KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,
						InputEvent.SHIFT_DOWN_MASK), "esc");

	}

	private javax.swing.Action cancelarAction = new javax.swing.AbstractAction() {
		public void actionPerformed(ActionEvent e) {
			dispose();
		}
	};

}

qualquer duvida posta ai…

nao consigo entender mesmo
se eu postar o projeto, vc consegue me explicar melhor?
com o bd Mysql e talz

Sem problemas, posso sim…

Vo preparar um exemplo bom aqui tbm…

Ta aqui o projeto, se você for up coloca posta para todos é legal pois se alguem tiver o mesmo problema fica mais facil.
o projeto ta meio grande pois não tive paciência de ficar selecionando as libis certas, mais ta funcionando certinho, tem um exemplo de como passar o DataSource, parametros, imagens ainda tem exemplo de simples de hibernate, criteria… ta ai só desculpa o tamanho…

https://skydrive.live.com/?cid=4c800dd30fdeb3cc&sc=documents#!/?cid=4c800dd30fdeb3cc&sc=documents&id=4C800DD30FDEB3CC%21587