Gostaria de saber como é que se faz para setar os meus JTextField’s nos componentes do meu relatório JasperReport, feito no JasperSoft Studio.
OBS.: Estou usando o Netbeans.
Para setar os valores dos seus JTextField
nos componentes do seu relatório, você precisará utilizar uma biblioteca de relatórios, como por exemplo o JasperReports.
O primeiro passo é criar o seu relatório no JasperReports, que é um arquivo XML com extensão .jrxml
. No seu relatório, você precisa adicionar os campos que irão receber os valores dos seus JTextField
. Para isso, você pode utilizar o componente TextField
do JasperReports.
Após criar o seu relatório, você pode utilizá-lo no seu código Java utilizando a classe JasperReport
da biblioteca JasperReports. Você pode carregar o seu relatório utilizando o método JasperCompileManager.compileReport
para compilar o seu arquivo .jrxml
e gerar um arquivo .jasper
compilado, que é mais rápido para ser executado.
Depois de carregar o relatório, você pode criar um objeto JasperPrint
a partir do seu relatório e passar os valores dos seus JTextField
como parâmetros utilizando um objeto Map
de parâmetros. O nome dos parâmetros deve ser o mesmo nome que você definiu para os campos do seu relatório.
Por exemplo, suponha que você tenha um relatório com dois campos de texto, um com o nome “nome” e outro com o nome “endereco”. Você pode setar os valores desses campos com os valores dos seus JTextField
da seguinte forma:
Map<String, Object> parametros = new HashMap<>();
parametros.put("nome", textFieldNome.getText());
parametros.put("endereco", textFieldEndereco.getText());
JasperPrint print = JasperFillManager.fillReport(relatorioCompilado, parametros, new JREmptyDataSource());
Após criar o objeto JasperPrint
, você pode exibi-lo em um JasperViewer
ou exportá-lo para um arquivo utilizando a classe JasperExportManager
.
@gpd38 Sei que o intuito é ajudar, mas dá uma conferida nas datas dos tópicos antes de responder. Esse é de 2016. Acho que vale mais a pena focar em tópicos recentes.
Infeizmente o Discourse (sistema do guj) não ajuda nesse quesito, e acaba recomendando tópicos antigos, então a gente tem que ficar de olho antes de postar.
Abraço.