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
Mostrando postagens com marcador desktop. Mostrar todas as postagens
Mostrando postagens com marcador desktop. Mostrar todas as postagens
sexta-feira, 25 de novembro de 2011
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
domingo, 7 de junho de 2009
Hello World com NetBeans
Nesse rápido passo a passo para inaugurar nossa nova IDE instalada, vamos fazer um "Hello World".
NetBeans é simples, maioria das coisas até mais intuitivo que o JDeveloper. Era desenvolvido pela Sun, e JDeveloper pela Oracle, agora que a Oracle comprou a Sun, acho que os dois projetos vão acabar virando um só. Espero eu que vá para o lado do NetBeans, que é Open Source, não apenas Free como o JDeveloper.
Abra o NetBeans, vá em "arquivo > Novo Projeto". Escolha "aplicativo java".

Nome do projeto, perceba que o nome da classe principal do aplicativo vai ficar com o nome do projeto que inserimos. E "finalizar".

Escrevendo o código (ctrl + espaço para abrir a ajuda). Aqui também, conforme formos "navegando nas classes" ele vai mostrando uma curta documentação sobre aquela classe ou método. Lendo isso da para aprender muito.

E clique em "executar Main project" (o botão tipo um play), ou tecla F6 no seu teclado. Na parte inferior da janela aparece a saída do programa com o nosso "hello" (clique para ver maior essa tela).

De momento é isso. Divirta-se!
NetBeans é simples, maioria das coisas até mais intuitivo que o JDeveloper. Era desenvolvido pela Sun, e JDeveloper pela Oracle, agora que a Oracle comprou a Sun, acho que os dois projetos vão acabar virando um só. Espero eu que vá para o lado do NetBeans, que é Open Source, não apenas Free como o JDeveloper.
Abra o NetBeans, vá em "arquivo > Novo Projeto". Escolha "aplicativo java".

Nome do projeto, perceba que o nome da classe principal do aplicativo vai ficar com o nome do projeto que inserimos. E "finalizar".

Escrevendo o código (ctrl + espaço para abrir a ajuda). Aqui também, conforme formos "navegando nas classes" ele vai mostrando uma curta documentação sobre aquela classe ou método. Lendo isso da para aprender muito.

E clique em "executar Main project" (o botão tipo um play), ou tecla F6 no seu teclado. Na parte inferior da janela aparece a saída do programa com o nosso "hello" (clique para ver maior essa tela).

De momento é isso. Divirta-se!
quarta-feira, 3 de junho de 2009
Hello World com Jdeveloper
Novamente Olá!
Vamos fazer um "olá mundo" em Java usando a ferramenta que instalamos no post passado. Não vai ser "explicado" porque das coisas, é mais para "inaugurar" o novo programa instalado.
Bom, primeira coisa então, abrir o JDeveloper. Vale lembrar que quem usa em Windows ou outro sistema operacional, o procedimento é o mesmo, já que esse texto é focado na ferramenta.

JDeveloper aberto, vá no menu em "file>new". Na tela que se apresenta escolha "Generic Application".

Agora ele nos pede onde salvar os arquivos do nossa aplicação, criei aqui uma pasta qualquer e indiquei esse caminho. Avançe em "next".

A próxima tela é a do projeto. Uma aplicação no conceito do JDeveloper pode ter vários projetos, esse projeto se chama "teste" e vai ser salvo na pasta "teste" (dentro de /home/helton2/javatestes/). Aqui também podemos adicionar "quais tecnologias" o nosso programa vai usar. No nosso caso nenhuma, só o "core" da linguagem em sí. Avançe em "finish".

Perceba que na lateral foi criado "teste", que é o nosso projeto, agora temos que efetivamente dizer "do que é composto" esse nosso aplicativo. Então como botão direito em cima de "teste" (lateral direita), clique em "new". Na tela que se abre escolha "Java Class". Siga em "ok".

Hora de criar a classe principal de nosso programa. Perceba que o nome de uma classe, segundo a nomenclatura padrão do Java deve iniciar com uma letra maiúscula, e se aplicam aqui todas aquelas regras de nomes de variáveis das outras linguagens de programação. Criamos então a classe "Hello", marque a opção "generate Main method" e de "ok". Aqui o conceito é igual em C, main é a função (no caso de java método) principal, ela que chama, execute, invoca todo o restante do programa. Todo programa deve ter uma "main".

Agora o JDeveloper criou um pouco de código para nós, a declaração do pacote (qualquer dia falamos disso), a declaração da classe pública "main" que se chama "Hello" e dentro dela o método construtor, e abaixo ainda o método estático (qualquer dia falamos disso) main.

É dentro da main que entra nosso código de "olá mundo". o comando é o seguinte:
System.out.print("Ola mundo");
Clique e veja a figura abaixo um pouco maior. Para executar tem um botão verde, um "play". Clique lá, vai compilar e executar nosso teste. A saída do nosso programa é na parte inferior do programa. Veja que está destacado na tela "Hello World! Java is Here!".

Missão cumprida, Hello word em Java com JDeveloper não é mais mistério!
Até o próximo.
Vamos fazer um "olá mundo" em Java usando a ferramenta que instalamos no post passado. Não vai ser "explicado" porque das coisas, é mais para "inaugurar" o novo programa instalado.
Bom, primeira coisa então, abrir o JDeveloper. Vale lembrar que quem usa em Windows ou outro sistema operacional, o procedimento é o mesmo, já que esse texto é focado na ferramenta.

JDeveloper aberto, vá no menu em "file>new". Na tela que se apresenta escolha "Generic Application".

Agora ele nos pede onde salvar os arquivos do nossa aplicação, criei aqui uma pasta qualquer e indiquei esse caminho. Avançe em "next".

A próxima tela é a do projeto. Uma aplicação no conceito do JDeveloper pode ter vários projetos, esse projeto se chama "teste" e vai ser salvo na pasta "teste" (dentro de /home/helton2/javatestes/). Aqui também podemos adicionar "quais tecnologias" o nosso programa vai usar. No nosso caso nenhuma, só o "core" da linguagem em sí. Avançe em "finish".

Perceba que na lateral foi criado "teste", que é o nosso projeto, agora temos que efetivamente dizer "do que é composto" esse nosso aplicativo. Então como botão direito em cima de "teste" (lateral direita), clique em "new". Na tela que se abre escolha "Java Class". Siga em "ok".

Hora de criar a classe principal de nosso programa. Perceba que o nome de uma classe, segundo a nomenclatura padrão do Java deve iniciar com uma letra maiúscula, e se aplicam aqui todas aquelas regras de nomes de variáveis das outras linguagens de programação. Criamos então a classe "Hello", marque a opção "generate Main method" e de "ok". Aqui o conceito é igual em C, main é a função (no caso de java método) principal, ela que chama, execute, invoca todo o restante do programa. Todo programa deve ter uma "main".

Agora o JDeveloper criou um pouco de código para nós, a declaração do pacote (qualquer dia falamos disso), a declaração da classe pública "main" que se chama "Hello" e dentro dela o método construtor, e abaixo ainda o método estático (qualquer dia falamos disso) main.

É dentro da main que entra nosso código de "olá mundo". o comando é o seguinte:
System.out.print("Ola mundo");
Clique e veja a figura abaixo um pouco maior. Para executar tem um botão verde, um "play". Clique lá, vai compilar e executar nosso teste. A saída do nosso programa é na parte inferior do programa. Veja que está destacado na tela "Hello World! Java is Here!".

Missão cumprida, Hello word em Java com JDeveloper não é mais mistério!
Até o próximo.
terça-feira, 2 de junho de 2009
Instalando JDeveloper 11 em Linux
Neste primeiro post útil vou mostrar como instalar o famoso ambiente de desenvolvimento para Java da Oracle, o JDeveloper.
Antes ainda da Oracle comprar a Sun (que produz o Java) a Oracle comprou os fontes do JBuilder que era da Borland e transformou no que é hoje o JDeveloper. A Wikipedia esclarece um pouco mais. Eu particularmente não gosto de IDE escrita em Java porque ela geralmente é lenta! Ainda não tive nenhuma experiência que me provasse o contrário.
O JDeveloper é free, pode ser baixado no site da Oracle neste link. Você só precisa se cadastrar antes. Como é feito em Java, roda em Windows, Linux, Mac OS e outra possível plataforma que roda Java. Precisa do JDK, mas vem junto com o pequeno pacote a ser baixado, normalmente algo como 700MB.
Em Windows a princípio não haverá um post de "como instalar", pois segue o padrão NNF (next, next, finish).
Baixadado o pacote (o ".bin") que é mais fácil. Abri uma tela no terminal, loguei como root porque a instalação vai precisar criar diretórios, arquivos em locais que só o root tem acesso por padrão. Em seguida é só mandar executar o instalador, no nosso caso "./jdevstudio11110install.bin".

Ele vai descompactar em algum lugar temporário e abrirá uma tela gráfica para darmos continuidade a instalação. Nesta primeira tela apenas "next".

Como estamos logados como "root" (no console que iniciou essa instalação), ele sugere para instalar em "/root", achei que não era um bom local e troquei para "/usr/local", conforme figura a seguir. Fazendo esse ajuste clique em "next".

Nesta outra tela nos pede sobre a instalação, como eu não sei ainda o que vou precisar, escolho a instalação completa.

Agora ele nos dá a ultima chance de se arrepender, e nos pede para confirmar as configurações da instalação. É isso mesmo, aperte "next".

Mais informações sobre a instalação, vai verificar se minha máquina tem disco suficiente para a instalação escolhida. Na versão 11, instalação completa, como pode ver ele precisa de praticamente 1GB de disco! Siga no botão "next".

Se quiser fique lendo as propagandas que aparecem nas telas a seguir, ou vá buscar um cafézinho. Aguarde.... (bastante).

Pronto! Instalação feita! Agora vamos executar nossa IDE pela primeira vez! (lembre, estamos com root). Deixe o checkedbox marcado e clique em "done".

Agora vai abrir uma tela com algumas opções, que de momento não nos interessam. Escolha a primeira que deve começar a rodar o JDeveloper.

A primeira vez que um usuário abre o programa ele pede "como" ele deve organizar o layout da IDE (da para mudar depois). A maneira padrão que é como ele sugere é boa. Se você tiver um monitor grande ou dois monitores, melhor ainda, porque a IDE é bem "carregada" tem muita coisa. Desmarque o checkedbox que diz se é ou não para pedir toda vez ao iniciar essa configuração. Clique "ok".

Perceba que o instalador acabou (veja na tela de baixo, o cursor já foi liberado), e agora um novo processo está rodando. Se demorar a abrir, acalme-se, é a primeira vez que está abrindo o programa, depois demora um pouco menos.

Da mesma forma, como é a primeira vez, ele nos pede se queremos migrar as configurações de uma instalação antiga, neste caso como não temos uma instalação antiga, não tem porque (escolha "no").

Finalmente carregando a IDE! Aqui no meu computador (P4 HT 3.0 Ghz, 2 GB RAM) a IDE carrega MUITO mais rápido no linux (Mandriva 2009 Power Pack) que no Windows (xp sp3).

E.... rufem os tambores! Instalado!

Se você leu até aqui, obrigado pela persistência! mas temos mais alguns ajustes. Feche a tela da IDE, feche o terminal que tinha aberto antes. Agora vá procurar o JDeveloper nos menus [tempo]. Não achou? Eu também não!
Como resolver isso? Faça um atalho (onde quiser, eu fiz no Desktop) para o executável do JDeveloper. Para isso no gnome, clique com o direito em "novo lançador" e ajuste o caminho para "/usr/local/Oracle/Middleware/jdeveloper/jdev/bin/jdev" onde "/usr/local" é o caminho da instalação que escolhemos antes e "jdev" é o executável.

É isso pessoal! Instalação ok. Agora já da para começar a estudar Java e podemos praticar um pouco.
Até o próximo!
Antes ainda da Oracle comprar a Sun (que produz o Java) a Oracle comprou os fontes do JBuilder que era da Borland e transformou no que é hoje o JDeveloper. A Wikipedia esclarece um pouco mais. Eu particularmente não gosto de IDE escrita em Java porque ela geralmente é lenta! Ainda não tive nenhuma experiência que me provasse o contrário.
O JDeveloper é free, pode ser baixado no site da Oracle neste link. Você só precisa se cadastrar antes. Como é feito em Java, roda em Windows, Linux, Mac OS e outra possível plataforma que roda Java. Precisa do JDK, mas vem junto com o pequeno pacote a ser baixado, normalmente algo como 700MB.
Em Windows a princípio não haverá um post de "como instalar", pois segue o padrão NNF (next, next, finish).
Baixadado o pacote (o ".bin") que é mais fácil. Abri uma tela no terminal, loguei como root porque a instalação vai precisar criar diretórios, arquivos em locais que só o root tem acesso por padrão. Em seguida é só mandar executar o instalador, no nosso caso "./jdevstudio11110install.bin".

Ele vai descompactar em algum lugar temporário e abrirá uma tela gráfica para darmos continuidade a instalação. Nesta primeira tela apenas "next".

Como estamos logados como "root" (no console que iniciou essa instalação), ele sugere para instalar em "/root", achei que não era um bom local e troquei para "/usr/local", conforme figura a seguir. Fazendo esse ajuste clique em "next".

Nesta outra tela nos pede sobre a instalação, como eu não sei ainda o que vou precisar, escolho a instalação completa.

Agora ele nos dá a ultima chance de se arrepender, e nos pede para confirmar as configurações da instalação. É isso mesmo, aperte "next".

Mais informações sobre a instalação, vai verificar se minha máquina tem disco suficiente para a instalação escolhida. Na versão 11, instalação completa, como pode ver ele precisa de praticamente 1GB de disco! Siga no botão "next".

Se quiser fique lendo as propagandas que aparecem nas telas a seguir, ou vá buscar um cafézinho. Aguarde.... (bastante).

Pronto! Instalação feita! Agora vamos executar nossa IDE pela primeira vez! (lembre, estamos com root). Deixe o checkedbox marcado e clique em "done".

Agora vai abrir uma tela com algumas opções, que de momento não nos interessam. Escolha a primeira que deve começar a rodar o JDeveloper.

A primeira vez que um usuário abre o programa ele pede "como" ele deve organizar o layout da IDE (da para mudar depois). A maneira padrão que é como ele sugere é boa. Se você tiver um monitor grande ou dois monitores, melhor ainda, porque a IDE é bem "carregada" tem muita coisa. Desmarque o checkedbox que diz se é ou não para pedir toda vez ao iniciar essa configuração. Clique "ok".

Perceba que o instalador acabou (veja na tela de baixo, o cursor já foi liberado), e agora um novo processo está rodando. Se demorar a abrir, acalme-se, é a primeira vez que está abrindo o programa, depois demora um pouco menos.

Da mesma forma, como é a primeira vez, ele nos pede se queremos migrar as configurações de uma instalação antiga, neste caso como não temos uma instalação antiga, não tem porque (escolha "no").

Finalmente carregando a IDE! Aqui no meu computador (P4 HT 3.0 Ghz, 2 GB RAM) a IDE carrega MUITO mais rápido no linux (Mandriva 2009 Power Pack) que no Windows (xp sp3).

E.... rufem os tambores! Instalado!

Se você leu até aqui, obrigado pela persistência! mas temos mais alguns ajustes. Feche a tela da IDE, feche o terminal que tinha aberto antes. Agora vá procurar o JDeveloper nos menus [tempo]. Não achou? Eu também não!
Como resolver isso? Faça um atalho (onde quiser, eu fiz no Desktop) para o executável do JDeveloper. Para isso no gnome, clique com o direito em "novo lançador" e ajuste o caminho para "/usr/local/Oracle/Middleware/jdeveloper/jdev/bin/jdev" onde "/usr/local" é o caminho da instalação que escolhemos antes e "jdev" é o executável.

É isso pessoal! Instalação ok. Agora já da para começar a estudar Java e podemos praticar um pouco.
Até o próximo!
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
- Imprimir JTable Print
- Hello world, soma em JSP - JavaServer Pages - Java para web
- Olá Mundo com Struts2 e NetBeans
- Tipos de dados em Java: int, Double e String