Impressao e jcheckbox

0 respostas
R

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.

aqui vai o codigo da classe que processa os arquivos do jasperreports:
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++

Criado 6 de julho de 2006
Respostas 0
Participantes 1