[color="darkred"]Minha aplicação é desktop[/color]
Para gerar o relatório uso a seguinte classe:
package br.com.sstintas.controller;
import java.net.URL;
import java.sql.Connection;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
public class JasperReportControllerEtiquetaAtacado {
private static JasperReport jr;
private static JasperPrint jp;
public JasperReportControllerEtiquetaAtacado() {
super();
}
public void geraRelatorioEtiquetaAtacado(Connection c) {
try {
URL url = getClass().getResource("relatorios/etiquetaAtacado.jasper");
jr = (JasperReport) JRLoader.loadObject( url );
// jp = JasperFillManager.fillReport("relatorios/etiquetaAtacado.jasper", null, c);
//JasperExportManager.exportReportToPdfFile(jp, "relatorios/etiquetaAtacado.pdf");
//JasperViewer.viewReport(jp);
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
Para chamá-la uso essa:
package br.com.sstintas.view;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Event;
import java.awt.BorderLayout;
import javax.swing.KeyStroke;
import javax.swing.JPanel;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JDialog;
import java.awt.GraphicsConfiguration;
import java.awt.HeadlessException;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import br.com.sstintas.controller.JasperReportControllerEtiquetaAtacado;
import br.com.sstintas.controller.JasperReportControllerEtiquetaAtacadoPromocao;
import br.com.sstintas.controller.JasperReportControllerEtiquetaFabrica;
import br.com.sstintas.controller.JasperReportControllerEtiquetaFabricaAtacado;
import br.com.sstintas.controller.JasperReportControllerEtiquetaFabricaAtacadoPromocao;
import br.com.sstintas.controller.JasperReportControllerEtiquetaFabricaComplemento;
import br.com.sstintas.controller.JasperReportControllerEtiquetaPromocao;
import br.com.sstintas.controller.JasperReportControllerVenda;
import br.com.sstintas.modelo.bd.GerenciadorBD;
public class RelatorioEtiquetasView extends JFrame {
private JPanel jContentPane = null;
private JButton btEtiquetaFabrica = null;
private JButton btFabricaAtacado = null;
private JButton btAtacado = null;
private JButton btPromocao = null;
private JButton btAtacadoPromocao = null;
private JButton btFabricaComplemento = null;
private JButton btFabricaAtacadoPromocao = null;
private JLabel lTituloEtiquta = null;
public RelatorioEtiquetasView() throws HeadlessException {
super();
// TODO Auto-generated constructor stub
initialize();
}
public RelatorioEtiquetasView(GraphicsConfiguration arg0) {
super(arg0);
// TODO Auto-generated constructor stub
initialize();
}
public RelatorioEtiquetasView(String arg0) throws HeadlessException {
super(arg0);
// TODO Auto-generated constructor stub
initialize();
}
public RelatorioEtiquetasView(String arg0, GraphicsConfiguration arg1) {
super(arg0, arg1);
// TODO Auto-generated constructor stub
initialize();
}
/**
* This method initializes btEtiquetaFabrica
*
* @return javax.swing.JButton
*/
private JButton getBtEtiquetaFabrica() {
if (btEtiquetaFabrica == null) {
btEtiquetaFabrica = new JButton();
btEtiquetaFabrica.setBounds(new java.awt.Rectangle(66,41,71,20));
btEtiquetaFabrica.setText("Fábrica");
btEtiquetaFabrica.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 10));
btEtiquetaFabrica.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JasperReportControllerEtiquetaFabrica.geraRelatorioEtiquetaFabrica(GerenciadorBD.getConexao());
}
});
}
return btEtiquetaFabrica;
}
/**
* This method initializes btFabricaAtacado
*
* @return javax.swing.JButton
*/
private JButton getBtFabricaAtacado() {
if (btFabricaAtacado == null) {
btFabricaAtacado = new JButton();
btFabricaAtacado.setText("Fábrica e Atacado");
btFabricaAtacado.setLocation(new java.awt.Point(21,78));
btFabricaAtacado.setSize(new java.awt.Dimension(122,20));
btFabricaAtacado.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 10));
btFabricaAtacado.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JasperReportControllerEtiquetaFabricaAtacado.geraRelatorioEtiquetaFabricaAtacado(GerenciadorBD.getConexao());
}
});
}
return btFabricaAtacado;
}
/**
* This method initializes btAtacado
*
* @return javax.swing.JButton
*/
private JButton getBtAtacado() {
if (btAtacado == null) {
btAtacado = new JButton();
btAtacado.setLocation(new java.awt.Point(203,41));
btAtacado.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 10));
btAtacado.setText("Atacado");
btAtacado.setPreferredSize(new java.awt.Dimension(71,20));
btAtacado.setSize(new java.awt.Dimension(74,20));
btAtacado.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JasperReportControllerEtiquetaAtacado.geraRelatorioEtiquetaAtacado(GerenciadorBD.getConexao());
}
});
}
return btAtacado;
}
/**
* This method initializes btPromocao
*
* @return javax.swing.JButton
*/
private JButton getBtPromocao() {
if (btPromocao == null) {
btPromocao = new JButton();
btPromocao.setLocation(new java.awt.Point(343,41));
btPromocao.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 10));
btPromocao.setText("Promoção");
btPromocao.setSize(new java.awt.Dimension(83,20));
btPromocao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JasperReportControllerEtiquetaPromocao.geraRelatorioEtiquetaPromocao(GerenciadorBD.getConexao());
}
});
}
return btPromocao;
}
/**
* This method initializes btAtacadoPromocao
*
* @return javax.swing.JButton
*/
private JButton getBtAtacadoPromocao() {
if (btAtacadoPromocao == null) {
btAtacadoPromocao = new JButton();
btAtacadoPromocao.setLocation(new java.awt.Point(164,78));
btAtacadoPromocao.setText("Atacado e Promoção");
btAtacadoPromocao.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 10));
btAtacadoPromocao.setSize(new java.awt.Dimension(135,20));
btAtacadoPromocao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JasperReportControllerEtiquetaAtacadoPromocao.geraRelatorioEtiquetaAtacadoPromocao(GerenciadorBD.getConexao());
}
});
}
return btAtacadoPromocao;
}
/**
* This method initializes btFabricaComplemento
*
* @return javax.swing.JButton
*/
private JButton getBtFabricaComplemento() {
if (btFabricaComplemento == null) {
btFabricaComplemento = new JButton();
btFabricaComplemento.setLocation(new java.awt.Point(320,78));
btFabricaComplemento.setText("Fábrica e Complemento");
btFabricaComplemento.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 10));
btFabricaComplemento.setSize(new java.awt.Dimension(149,20));
btFabricaComplemento.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JasperReportControllerEtiquetaFabricaComplemento.geraRelatorioEtiquetaFabricaComplemento(GerenciadorBD.getConexao());
}
});
}
return btFabricaComplemento;
}
/**
* This method initializes btFabricaAtacadoPromocao
*
* @return javax.swing.JButton
*/
private JButton getBtFabricaAtacadoPromocao() {
if (btFabricaAtacadoPromocao == null) {
btFabricaAtacadoPromocao = new JButton();
btFabricaAtacadoPromocao.setText("Fábrica / Atacado / Promoção");
btFabricaAtacadoPromocao.setLocation(new java.awt.Point(141,114));
btFabricaAtacadoPromocao.setSize(new java.awt.Dimension(177,24));
btFabricaAtacadoPromocao.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 10));
btFabricaAtacadoPromocao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JasperReportControllerEtiquetaFabricaAtacadoPromocao.geraRelatorioEtiquetaFabricaAtacadoPromocao(GerenciadorBD.getConexao());
}
});
}
return btFabricaAtacadoPromocao;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RelatorioEtiquetasView application = new RelatorioEtiquetasView();
application.setVisible(true);
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setMinimumSize(new java.awt.Dimension(500,200));
this.setPreferredSize(new java.awt.Dimension(500,200));
this.setSize(500, 200);
this.setContentPane(getJContentPane());
this.setTitle("Relatório de Etiquetas");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
lTituloEtiquta = new JLabel();
lTituloEtiquta.setBounds(new java.awt.Rectangle(138,11,190,16));
lTituloEtiquta.setFont(new java.awt.Font("MS Reference Sans Serif", java.awt.Font.BOLD, 12));
lTituloEtiquta.setText("Etiquetas para Impressão");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getBtEtiquetaFabrica(), null);
jContentPane.add(getBtFabricaAtacado(), null);
jContentPane.add(getBtAtacado(), null);
jContentPane.add(getBtPromocao(), null);
jContentPane.add(getBtAtacadoPromocao(), null);
jContentPane.add(getBtFabricaComplemento(), null);
jContentPane.add(getBtFabricaAtacadoPromocao(), null);
jContentPane.add(lTituloEtiquta, null);
}
return jContentPane;
}
}
o que acontece é que quando uso o getClass() o método não pode ser static, qdo tiro o static dá erro na chamada do método do arquivo que chama o relatório.
Alguma dica?