E aí galera blz, estou com um problema em meu código Java. Estou querendo gerar um relatório a partir de uma Tabela. A criação da tabela está ok, mas quando tento criar o relatório esse lê todos os dados da tabela, mas aparece tudo NULL. Alguém pode me ajudar.
package visualconsignacao;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.data.JRTableModelDataSource;
import net.sf.jasperreports.view.JasperViewer;
import relatorios.ChamaRelatorio;
public class principalvisual extends JFrame {
private JTextArea displayArea;
private JTable tabela;
private JButton openFile;
private JPanel buttonPanel;
private File file;
private Container container;
private ArrayList lista;
private SimpleTableModel model;
//Configura a GUI para criar o contexto e ambiente da aplicação.
public principalvisual(){
super("Programa conversor de arquivo de consignação");
container = getContentPane();
//Configura o painel da aplicação
buttonPanel = new JPanel();
//Configura o botão para abrir o arquivo e adicina ao painel da aplicação
openFile = new JButton("Localizar arquivo...");
buttonPanel.add(openFile);
//Ouvinte do botão, responsável por capturar o evento quando o usuário clica no botão
openFile.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent evento){
openFile(true);
//rel = new ChamaRelatorio();
//rel.criaRelatorio();
}
}
);
displayArea = new JTextArea();
//Anexa os componentes ao container da aplicação.
//container.add(scroll, BorderLayout.CENTER);
container.add(buttonPanel,BorderLayout.SOUTH);
//Registra o ouvinte para a janela quando o usuário sair do programa.
addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent evento){
System.exit(0);
}
}
);
pack();
setSize(800,500);
setVisible(true);
}
private void openFile(boolean primeiro){
if (primeiro){
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = fileChooser.showOpenDialog(this);
if (result == fileChooser.CANCEL_OPTION)
return;
file = fileChooser.getSelectedFile();
}
if (file ==null || file.getName().equals("")){
JOptionPane.showMessageDialog(this,"Arquivo inválido","Arquivo inválido",JOptionPane.ERROR_MESSAGE);
}
else{
try {
FileReader ler = new FileReader(file);
BufferedReader leitor = new BufferedReader(ler);
String linha;
lista = new ArrayList();
String[] coluna = new String[]{"NOME","CPF","VALOR PARCELA"};
while((linha = leitor.readLine())!=null){
//input = number.parse(linha.substring(143,152).trim());
//real = input.doubleValue();
//rel.setdadosRelatorio(linha.substring(15,45));
lista.add(new String[]{linha.substring(15,45),linha.substring(51,62),linha.substring(143,152)});
}
//*******************************************************************
try {
//setdadosRelatorio("Clara");
//setdadosRelatorio("Isabela Orlinda");
model = new SimpleTableModel(lista,coluna);
JRTableModelDataSource ds = new JRTableModelDataSource(model);
String arquivoJasper = "relatorios\\Relatorioconsignado.jasper";
HashMap map = new HashMap();
JasperPrint rel = JasperFillManager.fillReport(arquivoJasper, map, ds);
JasperViewer.viewReport(rel, false);
} catch (JRException e) {
// TODO Auto- generated catch block
e.printStackTrace();
}
//*********************************************************************
tabela = new JTable(model);
JScrollPane scroll = new JScrollPane(tabela);
container.add(scroll, BorderLayout.CENTER);
pack();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}