Para casos onde seja apenas necessário imprimir os dados de uma Jtable, sem cabecalhos nem imagens etc, pode-se utilizar o método print das jTable, definindo apenas o título para imprimir.
Foo Java!
Define: foo = Foo is a metasyntactic variable used heavily in computer science to represent concepts abstractly
segunda-feira, 28 de novembro de 2011
sexta-feira, 25 de novembro de 2011
A melhor dica de todos os tempos e um pouco de código fonte
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
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
quarta-feira, 9 de novembro de 2011
AbstractTableModel x DefaultTableModel
Olá, estou com pouco tempo pra escrever um bom post, mas não posso deixar de recomendar a todos que parem de usar DefaultTableModel e comecem com AbstractTableModel.
Seguem 3 links interessantes que vão lhe levar para muitos outros links e exemplos :), é isso ai, bom estudo.
http://www.guj.com.br/java/138916-duvida-pegar-objeto-da-jtable-resolvido
http://www.guj.com.br/java/199067-redimensionar-jtable---pra-variar--resolvido-/2#1001295
http://stackoverflow.com/questions/4303680/java-swing-extend-abstracttablemodel-and-use-it-with-jtable-several-question
http://www.guj.com.br/java/138916-duvida-pegar-objeto-da-jtable-resolvido
http://www.guj.com.br/java/199067-redimensionar-jtable---pra-variar--resolvido-/2#1001295
http://stackoverflow.com/questions/4303680/java-swing-extend-abstracttablemodel-and-use-it-with-jtable-several-question
quinta-feira, 13 de outubro de 2011
Engenharia Reversa no Hibernate com Netbeans
Olá!
Se você vai usar o Hibernate para desenvolver aplicativos Java, recomendo fortemente que leia este tutorial http://netbeans.org/kb/docs/java/hibernate-java-se.html, você vai aprender a utilizar alguns recursos bem legais como o HQL Query editor e gerar POJOs e arquivos de mapeamento das tabelas (models, classes) no banco através de um recurso de engenharia reversa do Hibernate.
No tutorial é para Swing apps, mas este conhecimento você vai usar em qualquer projeto que utilize Java e Hibernate.
___
Bolívar Butzke
bolivarbutzke.blogspot.com
Se você vai usar o Hibernate para desenvolver aplicativos Java, recomendo fortemente que leia este tutorial http://netbeans.org/kb/docs/java/hibernate-java-se.html, você vai aprender a utilizar alguns recursos bem legais como o HQL Query editor e gerar POJOs e arquivos de mapeamento das tabelas (models, classes) no banco através de um recurso de engenharia reversa do Hibernate.
No tutorial é para Swing apps, mas este conhecimento você vai usar em qualquer projeto que utilize Java e Hibernate.
___
Bolívar Butzke
bolivarbutzke.blogspot.com
Assinar:
Postagens (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