Ola pessoa, meu problema é que tenho um jframe com 3 jcheckbox, um jtextfield. e um jbutton.
O que eu queria é que quando digitasse o codigo do usuario e selecionar as fichas que devem ser impressas e depois clicar no botao imprimir, fosse impresso arquivos do jasper relativos a cada opcao selecionada, caso fossem 3 jogasse na fila de impressao os 3, mas a unica coisa que consigo é imprimir a primeira checkbox selecionada, nao consigo fazer aparecer as caixas de impressao depois de clicar no botao imprimir.
import java.sql.DriverManager;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
public class reimprime
{
public void ficha_usuario(int parametro) throws Exception
{
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String url="jdbc:odbc:cefa";
String login="";
String passwd="";
String relatorio="ficha_usuario.jasper";
//compila o relatorio
//JasperReport relatorio=JasperCompileManager.compileReport(layout);
//estabelece uma conexao JDBC
Class.forName(driver);
java.sql.Connection con=DriverManager.getConnection(url,login,passwd);
//executa o relatorio
Map parametros=new HashMap();
parametros.put("codigo",new Integer(parametro));
JasperPrint impressao=JasperFillManager.fillReport(relatorio,parametros,con);
JasperPrintManager.printReport(impressao,true);
//exibe o resultado da impressao na pre-visualizacao estilo swing
//JasperViewer viewer=new JasperViewer(impressao,true);
//viewer.setVisible(true);
}
public void ficha_arquivo(int parametro) throws Exception
{
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String url="jdbc:odbc:cefa";
String login="";
String passwd="";
String relatorio="ficha_arquivo.jasper";
//compila o relatorio
//JasperReport relatorio=JasperCompileManager.compileReport(layout);
//estabelece uma conexao JDBC
Class.forName(driver);
java.sql.Connection con=DriverManager.getConnection(url,login,passwd);
//executa o relatorio
Map parametros=new HashMap();
parametros.put("codigo_ficha_arquivo",new Integer(parametro));
JasperPrint impressao=JasperFillManager.fillReport(relatorio,parametros,con);
JasperPrintManager.printReport(impressao,true);
//exibe o resultado da impressao na pre-visualizacao estilo swing
//JasperViewer viewer=new JasperViewer(impressao,true);
//viewer.setVisible(true);
}
public void fichalug(int parametro) throws Exception
{
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String url="jdbc:odbc:cefa";
String login="";
String passwd="";
String relatorio="ficha_aluguel.jasper";
//compila o relatorio
//JasperReport relatorio=JasperCompileManager.compileReport(layout);
//estabelece uma conexao JDBC
Class.forName(driver);
java.sql.Connection con=DriverManager.getConnection(url,login,passwd);
//executa o relatorio
Map parametros=new HashMap();
parametros.put("codigo",new Integer(parametro));
JasperPrint impressao=JasperFillManager.fillReport(relatorio,parametros,con);
JasperPrintManager.printReport(impressao,true);
//exibe o resultado da impressao na pre-visualizacao estilo swing
//JRPrinterAWT.printPages(impressao,1,2,true);
//JasperViewer viewer=new JasperViewer(impressao,true);
//viewer.setVisible(true);
}
}
aqui vai o codigo da parte que processa a selecao dos checkbox:
private JButton getJButtonficha_aluguel() {
if (jButtonficha_aluguel == null) {
jButtonficha_aluguel = new JButton();
jButtonficha_aluguel.setBounds(new Rectangle(23, 82, 97, 29));
jButtonficha_aluguel.setText("Imprimir");
jButtonficha_aluguel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
Integer codusuario=(Integer.parseInt(jTextFieldficha_aluguel.getText()));
try {
boolean arquivo=jCheckBoxarquivo.isSelected();
boolean usuario=jCheckBoxusuario.isSelected();
boolean aluguel=jCheckBoxAluguel.isSelected();
if(arquivo && usuario && aluguel)
{
reimprime falu=new reimprime();
falu.ficha_arquivo(codusuario);
JOptionPane.showMessageDialog(null,"Clique OK para imprimir ficha de usuario");
reimprime falu2=new reimprime();
falu2.ficha_usuario(codusuario);
reimprime falu3=new reimprime();
JOptionPane.showMessageDialog(null,"Clique OK para imprimir ficha de aluguel");
falu3.fichalug(codusuario);
}
else if(arquivo && aluguel)
{reimprime falu=new reimprime();
falu.ficha_arquivo(codusuario);
falu.fichalug(codusuario);
}
else if(arquivo && usuario)
{reimprime falu=new reimprime();
falu.ficha_arquivo(codusuario);
falu.ficha_usuario(codusuario);
}
else if(usuario && aluguel)
{reimprime falu=new reimprime();
falu.ficha_usuario(codusuario);
falu.fichalug(codusuario);
}
else if(arquivo)
{reimprime falu=new reimprime();
falu.ficha_arquivo(codusuario);
}
else if(usuario)
{reimprime falu=new reimprime();
falu.ficha_usuario(codusuario);
}
else if(aluguel)
{reimprime falu=new reimprime();
falu.fichalug(codusuario);
}
} catch (Exception fafu) {
// TODO: handle exception
}
}
});
}
return jButtonficha_aluguel;
}
Estou usando if porque acho que switch....case nao vai funcionar.
Alguem tem uma sugestao melhor??? T++