Ireport

Boa noite sou iniciante em programção gostaria de uma ajuda sobre como fazer para um relatorio do ireport seja preenchido atraves de uma caixa de texto que o usuario ira digitar e nao popular o relaotorio atraves do banco de dados alguem poderia me ajudar com essa linhas de comando estou utilizando o netbeans18 e o ireport 5.6

  1. Crie os parâmetros no iReport: Primeiro, no seu relatório do iReport, você precisa criar os parâmetros que serão preenchidos pelo usuário. Você pode fazer isso na seção “Parameters” no iReport.
  2. Adicione um campo de texto no relatório: Adicione um campo de texto no seu relatório onde você deseja que os dados inseridos pelo usuário sejam exibidos.
  3. Associe o parâmetro ao campo de texto: No campo de texto que você adicionou, você pode definir a expressão para que ele seja preenchido com o valor do parâmetro que você criou.
  4. Crie um formulário ou interface para que o usuário insira os dados: Fora do iReport, você precisará criar uma interface onde o usuário poderá inserir os dados. Isso pode ser feito em uma aplicação Java, por exemplo, usando componentes de interface gráfica como JTextField para a entrada de texto.
  5. Capture os dados do usuário e passe para o relatório: Depois que o usuário inserir os dados na interface que você criou, você precisa capturá-los na sua aplicação e passá-los para o relatório. Isso envolverá a configuração do relatório para aceitar os dados dos parâmetros e, em seguida, preencher os parâmetros com os valores inseridos pelo usuário.
  6. Renderize e exiba o relatório: Finalmente, você renderizará o relatório com os dados fornecidos pelo usuário e o exibirá na sua aplicação.

Exemplo:

public class RelatorioJFrame extends JFrame {

    public static void main(String[] args) {
        RelatorioJFrame frame = new RelatorioJFrame();
        frame.setVisible(true);
    }

    private JTextField textField;

    public RelatorioJFrame() {
        setTitle("Exemplo de Relatório");
        setSize(300, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel panel = new JPanel();
        getContentPane().add(panel, BorderLayout.CENTER);
        panel.setLayout(new BorderLayout());

        textField = new JTextField();
        panel.add(textField, BorderLayout.CENTER);

        JButton btnGerarRelatorio = new JButton("Gerar Relatório");
        btnGerarRelatorio.addActionListener(e -> gerarRelatorio());
        panel.add(btnGerarRelatorio, BorderLayout.SOUTH);
    }

	private void gerarRelatorio() {
		// Obtenha o conteúdo do campo de texto
		String texto = textField.getText();
		
		try {
			// Crie um mapa de parâmetros para passar para o relatório
			Map<String, Object> parametros = new HashMap<>();
			parametros.put("textoRelatorio", texto); // "textoRelatorio" é o nome do parâmetro no iReport

			// Carregue e preencha o relatório com os parâmetros
			JasperPrint jasperPrint = JasperFillManager.fillReport("caminho/do/seu/relatorio.jasper", parametros);

			// Exiba o relatório em uma visualização
			JasperViewer.viewReport(jasperPrint, false);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
2 curtidas

Muito obrigado amigo funcionou perfeito vlw

1 curtida