Java X Delphi

6 respostas
C

Olá.
Sou programador em Delphi há alguns anos e estou começando a aprender a programar em Java usando a ferramenta Eclipse+VEP. Gostei bastante mas me surgiram algumas dúvidas quanto o “poder” dessas ferramentas.

Primeiro: Herança de formulários. Eu tentei fazer uma classe derivada do JFrame e depois criar outra classe derivada dessa primeira. Ele criou um formulário meio bagunçado, mas não era nada nem perto da herança de formulários do Delphi que por sinal é bastante poderosa. Dão uma luz? Eu gosto de programar usando herança visual de formuilários, no Java dá certo? Funciona bem?

Segundo: Eu vi que não existe um componente similar ao DBGrid. Existe o JTable mas você tem que popular com dados no braço. Então eu poderia criar um Bean (Bean = Componente?) herdando de JTable que acessasse esses dados. Eu creio que funcionaria, mas teria como eu usar esse novo componente no VEP, ou seja, mostrando ele visualmente como o Delphi faz?

Muito obrigado pela ajuda

6 Respostas

J

“carlsonwf”:
Olá.
Sou programador em Delphi há alguns anos e estou começando a aprender a programar em Java usando a ferramenta Eclipse+VEP. Gostei bastante mas me surgiram algumas dúvidas quanto o “poder” dessas ferramentas.

Primeiro: Herança de formulários. Eu tentei fazer uma classe derivada do JFrame e depois criar outra classe derivada dessa primeira. Ele criou um formulário meio bagunçado, mas não era nada nem perto da herança de formulários do Delphi que por sinal é bastante poderosa. Dão uma luz? Eu gosto de programar usando herança visual de formuilários, no Java dá certo? Funciona bem?

Segundo: Eu vi que não existe um componente similar ao DBGrid. Existe o JTable mas você tem que popular com dados no braço. Então eu poderia criar um Bean (Bean = Componente?) herdando de JTable que acessasse esses dados. Eu creio que funcionaria, mas teria como eu usar esse novo componente no VEP, ou seja, mostrando ele visualmente como o Delphi faz?

Muito obrigado pela ajuda

Respondendo a primeira pergunta: Dá certo sim… e eu uso muito isso… por exemplo, tenho uma classe padrão de formulários, e outras que são especializadas dela, como por exemplo, formulários de consulta, de pesquisa, entre outras… não tem por que aparecer baguçado, se é que o programador não saiba utilizar os layout entre outros.

Respondendo a segunda pergunta: O JTable pode ser populado célula por célula se vc quiser. E acessar de várias formas os dados. Como formatado tb. Agora no eclipse vc tem que abaixar um plug-in para mostrar visualmente os componentes como no Delphi…

Espero ter respondido sua dúvida… qq coisa, é só falar… quer dizer, postar… :wink:

C

Beleza, entendi. Então continua duas dúvidas, uma em cada tópico

  1. Eu usei na classe pai um layout BorderLayout e montei a tela tudo direitinho. E criei uma descendente e essa que ficou toda bgunçada,p não se parecendo com o pai, mas tendo todos os componentes nela. Seila o que aconteceu, tinha q dar mais uma olhada

  2. Eu uso o VEP e queria saber se nele é possível que o componente visual apareça igual o Delphi. Eu quero criar novos componentes e que eles apareçam em Design, com a carinha que eu criei. Mas eu to chegando quase a conclusão que o Java é mais eficiente programando tudo no braço sem essas ferramentas visuais. Corrijam-me se estiver errado

C

“New__Radical”:
“carlsonwf”:
Beleza, entendi. Então continua duas dúvidas, uma em cada tópico

  1. Eu usei na classe pai um layout BorderLayout e montei a tela tudo direitinho. E criei uma descendente e essa que ficou toda bgunçada,p não se parecendo com o pai, mas tendo todos os componentes nela. Seila o que aconteceu, tinha q dar mais uma olhada

Você deve estar fazendo alguma coisinha errada. Posta parte do código para a gente dar uma olhada!

“carlsonwf”:

  1. Eu uso o VEP e queria saber se nele é possível que o componente visual apareça igual o Delphi. Eu quero criar novos componentes e que eles apareçam em Design, com a carinha que eu criei. Mas eu to chegando quase a conclusão que o Java é mais eficiente programando tudo no braço sem essas ferramentas visuais. Corrijam-me se estiver errado

Você está falando em mostrar os dados na tabela em tempo de desenvolvimento? Tipo, vc ainda montando a sua JTable e já aparecer os dados na tabela carregados do banco?? :roll: Se for isso, ñ faz não.
Da uma olhada nessa IDE também. Acho ela a melhor ferramenta free para edição de layouts. www.netbeans.org

PS.: Se não me engano, o JBuilder tem um componente parecido com o DBGrid do Delphi. Mas não é tão complicado assim fazer o seu próprio Personal DBGrid :wink:

Bem, vejo que minha procura na net não foi sem frutos. Procurei por herença+VEP e encontrei este tópico.

O meu problema parece ser o mesmo que do colega. Desenvolvi minha classe ParentForm, herdada de JFrame. Coloquei alguns painéis, que ganharam perfeito posicionamento através de BorderLayout. Criei uma nova classe visual chamada SelectionForm (extendendo ParentForm), que acrescentaria um JPanel com os JButton btnOK e btnCancel. O Grande problema foi na hora de adicionar este JPanel com os botões, pois não tenho acesso aos painéis da classe pai na classe herdada no editor visual (apesar de poder ver os mesmos), e estes também não são listados em na view Java Beans. Mesmo que o painel seja adicionado no painel da classe pai, o mesmo aparece fora do JFrame e fica solto na view Java Beans. O interessante que comprova que não há erros no código é executá-lo. Aparece tudo perfeito, como deveria aparecer no editor visual.

Gostaria muito de saber como fazer isto funcionar, antes que eu tenha que procurar por outro plugin.

Utilizo:

Linux Slackware 10
JSDK 1.4.2.05
Eclipse 3.1
VEP 1.0.2

[]s

Carlos MacLeod

C

“JavaTeco”:
“carlsonwf”:
Olá.
Sou programador em Delphi há alguns anos e estou começando a aprender a programar em Java usando a ferramenta Eclipse+VEP. Gostei bastante mas me surgiram algumas dúvidas quanto o “poder” dessas ferramentas.

Primeiro: Herança de formulários. Eu tentei fazer uma classe derivada do JFrame e depois criar outra classe derivada dessa primeira. Ele criou um formulário meio bagunçado, mas não era nada nem perto da herança de formulários do Delphi que por sinal é bastante poderosa. Dão uma luz? Eu gosto de programar usando herança visual de formuilários, no Java dá certo? Funciona bem?

Segundo: Eu vi que não existe um componente similar ao DBGrid. Existe o JTable mas você tem que popular com dados no braço. Então eu poderia criar um Bean (Bean = Componente?) herdando de JTable que acessasse esses dados. Eu creio que funcionaria, mas teria como eu usar esse novo componente no VEP, ou seja, mostrando ele visualmente como o Delphi faz?

Muito obrigado pela ajuda

Respondendo a primeira pergunta: Dá certo sim… e eu uso muito isso… por exemplo, tenho uma classe padrão de formulários, e outras que são especializadas dela, como por exemplo, formulários de consulta, de pesquisa, entre outras… não tem por que aparecer baguçado, se é que o programador não saiba utilizar os layout entre outros.

Respondendo a segunda pergunta: O JTable pode ser populado célula por célula se vc quiser. E acessar de várias formas os dados. Como formatado tb. Agora no eclipse vc tem que abaixar um plug-in para mostrar visualmente os componentes como no Delphi…

Espero ter respondido sua dúvida… qq coisa, é só falar… quer dizer, postar… :wink:

Bem, acho que a própria equipe que criou o VEP iria gostar muito de saber como o colega consegue esta façanha :-), vide mensagem abaixo (e resposta), postadas no forum do VEP:

From: “Carlos MacLeod” <SPAM_EH_O_CARALHO@TEU_RABO.org>
Subject: Visual inheritance in VE
Date: Wed, 5 Jan 2005 20:23:01 +0000 (UTC)
Message-ID: <crhib5$9dh$[email removido]>
Lines: 12

After constructing my basic visual class called ParentForm, extending
JFrame (In this class I placed my basics JPanels), I tryed to extend
ParentForm class creating a class called SelectionForm. It is my
problem: I have no access to JPanels of my base class, I can just view
but can’t add new visual components in my panels… The base class
beans doesn’t appear in the beans tree of SelectionForm class.

How can I proceed ?

PS: Sorry, my english is bad… :frowning:

Carlos MacLeod

From: Rich Kulp <[email protected]_SPAM.ibm.com>
Subject: Re: Visual inheritance in VE
Date: Wed, 05 Jan 2005 16:11:47 -0500
Message-ID: <crhl6j$iuv$[email removido]>
Lines: 14

There is a restriction with the current VE that if you subclass a subclass of JFrame you need to add a new content pane. We can’t use the inherited content pane. This is a real pain and we intent to fix this.

Also, we only know about panels that are in the class being edited, we don’t know about any inherited ones because those are private so they can’t be accessed. If you subclassed a subclasses JPanel, the superclass’s beans will be in the view, but they can’t be selected or modified.


Thanks,
Rich Kulp

J

Alguem sabe se o problema acima já foi resolvido?

C

Sim, use o plugin Jigloo, este suporta herança visual. Foi a solução que encontrei e está resolvendo muito bem meu problema.

Criado 7 de maio de 2004
Ultima resposta 17 de mai. de 2005
Respostas 6
Participantes 4