A dica que segue é triste, mas considero uma boa dica.
NUNCA UTILIZE LETRAS MAIÚSCULAS AO DESENVOLVER COM JAVA.
Eu já perdi a conta de quantos problemas e horas passei pesquisando e pedindo ao Pai Google como resolver erros no Java, e muitos deles foi por eu ter usado uma letra maiúscula. Por exemplo, usar letra maiúscula em nome de tabela ou campo no banco de dados, volta e meia dá problema com o Hibernate.
E hoje, tentando passar os dados de uma abstractTableModel diretamente para um relatório no iReport Jasper, recebi várias erros como:
java.lang.NoSuchMethodException: Unknown property 'Data' on class
Depois de várias alteracões uma coisa me chamou a atencão, erro no campo Data, o D maiúsculo... refatorei o nome para data
tanto na classe como no relatório e o erro passou pro campo seguinte...
CustoMO. Eureka, descobri o problema, mais uma vez as maiúsculas. Olha outro que sofreu...
Se não ajustar no iReport dá um erro tipo este:
net.sf.jasperreport.engine.JRException:Error retrieving field value bean: Campo
Bem, aproveitando o post, vou postar o código da AbstractTableModel que montei pra vocês darem risadas das minhas gambiarras e poderem copia-las depois quando quiserem jogar os dados da tablemodel pra um relatório jasper :)
Vejam que acabei criando uma classe interna com os mesmos campos/colunas da table model que uso nas jTable... campos em MINÚSCULO! Ai fiz uma funcão carregaDadosPrint() que busca os dados e joga pra ArrayList que vai pro relatório a ser impresso.
Tenho certeza que o código pode ser bastante melhorado visto que Java não é o meu forte, mas acredito que quem está iniciando pode aprender muitas coisas estudando ele.
Aproveita pra colocar alguns links que me ajudaram nos últimos dias:
Java sem café.!: JavaSE: CRUD em Swing
Implementando AbstractTableModel - Java Free.org
A Simple Interactive JTable Tutorial
Java Swing | extend AbstractTableModel and use it with JTable | several questions - Stack Overflow
Creating a Set | Example Depot
Não consigo buscar dado do AbstractTableModel.. pq?
Morte definitiva ao default table model
Máscara monetária - Java Free.org
Cómo crear interfaces gráficas con Look And Feel en Java
Cotidiano em Wonderland: Look and Feel
Testando vários Look And Feels - Java Free.org
Printing simple tabular reports with JTable - Alan's Ramblings
Marc Nuri's Happy Coding Blog » Updated: Displaying a jTable inside another jTable // JTable cellRenderer
Marc Nuri's Happy Coding Blog » Getting started with JasperReports // Printing reports from your java app (Part III)
sagara's Blog: JTable to Dynamic PDF Report using JasperReport
Getting Started | DynamicJasper
Preencher Relatórios JasperReport com Hibernate
JasperReports 4.0.1 - Hibernate Sample
Usando o JRBeanCollectionDataSource » Roberto Furutani
Define: foo = Foo is a metasyntactic variable used heavily in computer science to represent concepts abstractly
Assinar:
Postar comentários (Atom)
Postagens populares
- Jogo da Forca em Java
- Tipos de dados em Java: Array e Vector
- Struts2 - Upload de arquivos, gravando no sistema de arquivos
- Primeira postagem \o/ - Exercícios em Java - Parte I
- Engenharia Reversa no Hibernate com Netbeans
- Listagem de dados com Struts2 e Hibernate em Netbeans
- Hello world, soma em JSP - JavaServer Pages - Java para web
- Imprimir JTable Print
- Olá Mundo com Struts2 e NetBeans
- Tipos de dados em Java: int, Double e String
Nenhum comentário:
Postar um comentário