Java Desktop

Segue o exemplo em anexo. Espero que ajude. Dá uma olhada em http://wiki.netbeans.org/FaqFormExtendingForms que vai te ajudar bastante e claro, isso só funciona com o projeto compilado pois o IDE precisa dos binários para algumas operações… isso é chato mas faz parte quando você não tem um projeto com bibliotecas definidas “corretamente”.

[]'s

[quote=hmichel]Segue o exemplo em anexo. Espero que ajude. Dá uma olhada em http://wiki.netbeans.org/FaqFormExtendingForms que vai te ajudar bastante e claro, isso só funciona com o projeto compilado pois o IDE precisa dos binários para algumas operações… isso é chato mas faz parte quando você não tem um projeto com bibliotecas definidas “corretamente”.

[]'s[/quote

vou dar uma olhada… valeu

[quote=Mark_Ameba]Eu uso uma mistura de MigLayout, BorderLayout, FlowLayout e BoxLayout.

Faz muito tempo que não faço telas em Visual Editors.[/quote]

Voce nao usa GridBagLayout?

[quote=Lucas Emanuel][quote=Mark_Ameba]Eu uso uma mistura de MigLayout, BorderLayout, FlowLayout e BoxLayout.

Faz muito tempo que não faço telas em Visual Editors.[/quote]

Voce nao usa GridBagLayout?[/quote]

Nao. Nao gosto dele. XD

[quote=Mark_Ameba][quote=Lucas Emanuel][quote=Mark_Ameba]Eu uso uma mistura de MigLayout, BorderLayout, FlowLayout e BoxLayout.

Faz muito tempo que não faço telas em Visual Editors.[/quote]

Voce nao usa GridBagLayout?[/quote]

Nao. Nao gosto dele. XD[/quote]

[2]

[quote=Mark_Ameba][quote=Lucas Emanuel][quote=Mark_Ameba]Eu uso uma mistura de MigLayout, BorderLayout, FlowLayout e BoxLayout.

Faz muito tempo que não faço telas em Visual Editors.[/quote]

Voce nao usa GridBagLayout?[/quote]

Nao. Nao gosto dele. XD[/quote]

Motivo?

[quote=Lucas Emanuel][quote=Mark_Ameba][quote=Lucas Emanuel][quote=Mark_Ameba]Eu uso uma mistura de MigLayout, BorderLayout, FlowLayout e BoxLayout.

Faz muito tempo que não faço telas em Visual Editors.[/quote]

Voce nao usa GridBagLayout?[/quote]

Nao. Nao gosto dele. XD[/quote]

Motivo?[/quote]

Se você usar dois ou tres paineis, vc consegue um efeito igual. Com menos linhas de código e mais inteligível =P

Eu uso o MigLayout que é uma versão bem mais inteligente do que o GrigBagLayout para colocar os componentes e os outros Layouts com varios JPanels para organizar a tela.

[quote=Lucas Emanuel][quote=Mark_Ameba][quote=Lucas Emanuel][quote=Mark_Ameba]Eu uso uma mistura de MigLayout, BorderLayout, FlowLayout e BoxLayout.

Faz muito tempo que não faço telas em Visual Editors.[/quote]

Voce nao usa GridBagLayout?[/quote]

Nao. Nao gosto dele. XD[/quote]

Motivo?[/quote]
Também não gosto dele pelo motivo já citado. Um exemplo é o link na assinatura do Mark_Ameba. :slight_smile:

[quote=marcobiscaro2112][quote=Lucas Emanuel][quote=Mark_Ameba][quote=Lucas Emanuel][quote=Mark_Ameba]Eu uso uma mistura de MigLayout, BorderLayout, FlowLayout e BoxLayout.

Faz muito tempo que não faço telas em Visual Editors.[/quote]

Voce nao usa GridBagLayout?[/quote]

Nao. Nao gosto dele. XD[/quote]

Motivo?[/quote]
Também não gosto dele pelo motivo já citado. Um exemplo é o link na assinatura do Mark_Ameba. :)[/quote]

Realmente, pelo que vi do tutorial de http://www.miglayout.com/, é bem mais simples e limpo.

Será que vale a pena mudar algumas partes do projeto já feito em GridBag para Mig, para que fique menos código e mais inteligível?

eu ainda uso null como layout… sei dos pontos negativos mas com uma interface gráfica fica muito mais rápido montar a tela… já ouvi falar de problemas como performance em outra plataforma e incompatibilidade com LAFs mas fiz vários testes em cima disso e não encontrei problemas. Além disso, minhas telas não são redimensionáveis também…
acredito que montar uma tela bem complexa toda ‘na unha’ seria extremamente custoso em termos de tempo…
minha opinião…

Quanto ao desempenho, performace e qualidade do software, a View, utilizando gerenciadores de layout e montado na mão pode se tornar melhor comparado à tela montada com RAD que gera códigos meio sujo?

Quanto à performance - e arrisco dizer também quanto à qualidade - creio que não haja diferença, já que os editores RAD foram bastante otimizados para realizar sua tarefa.

Na minha opinião, o maior problema acontece na manutenção do código, justamente por causa do código gerado, que quase sempre é ininteligível. Também é problema para programadores pouco experientes que acham que o editor faz tudo e acabam tendo sérios problemas na hora de entender o que acontece: esquecem que existe qualquer padrão de desenvolvimento e vem aqui no fórum tentar solucionar o problema. Novamente, essa é minha opinião.

Quanto à performance - e arrisco dizer também quanto à qualidade - creio que não haja diferença, já que os editores RAD foram bastante otimizados para realizar sua tarefa.

Na minha opinião, o maior problema acontece na manutenção do código, justamente por causa do código gerado, que quase sempre é ininteligível. Também é problema para programadores pouco experientes que acham que o editor faz tudo e acabam tendo sérios problemas na hora de entender o que acontece: esquecem que existe qualquer padrão de desenvolvimento e vem aqui no fórum tentar solucionar o problema. Novamente, essa é minha opinião.[/quote]
concordo… uma coisa é usar editores para ganhar tempo, outra é usar como pretexto para montar uma view inteira sem precisar entender nada do que é gerado

[quote=hmichel]Bom, trabalho com sistemas desktop em java a anos e não vejo problemas em editores visuais. Uso o NetBeans a tantos anos que nem lembro mais, e não tenho maiores problemas com o editor visual. Não posso dizer que ele as vezes não seja chato e metido, tentando adivinhas o que quero fazer (será que é por isso que não gosto do Eclipse?) mas no geral ele nos poupa muito tempo de desenvolvimento. Quando a herança, você pode utilizar no próprio NetBeans, de uma olhada em http://wiki.netbeans.org/FaqFormCustomContainerBean, funciona perfeitamente. Criar componentes para o seu sistema e coloca-los na paleta é muito útil, poupa bastante tempo e é um jeito bastante inteligente de trabalhar, componentização. Você pode criar um plugin para que possa atualizar todos os IDEs da sua empresa de forma automática quando um novo componente é criado, através de um Update Center. Isso funciona em qualquer IDE, já que todos tem plugins, mas digo que funciona perfeitamente no NetBeans. E não deixe de dar uma olhada no genesis.dev.java.net, nos ajuda a manter a sanidade quando o assunto é Swing, uma API bastante poderosa mas bastante complexa, principalmente para pessoal não familiarizado com a tecnologia.
Brincadeiras a parte, caso trabalhar apenas com um IDE seja um problema (pessoalmente, gosto que cada desenvolvedor escolha seu IDE), e alguns queiram o Eclipse mas você gostar do editor visual do NetBeans ou qualquer outro, sugiro uma abordagem simplista, ou seja, apenas o design de tela ser feito via ferramenta, e todos os listeners etc sejam feitos via editor de código. Assim você não fica preso a apenas uma ferramenta.

Att.[/quote]

Concordo do inicio ao fim, inclusive acredito que programar os eventos fora da interface gráfica é o mais correto, pois assim você deixa todo o código (tirando a tela lógico) livre de IDE.

[quote=marciosantri]Desenhar tela na mão?!?!? Mano, isso me lembra o Clipper. Vc está brincando, não é? Ou então seus projetos deve ser mais para web.
Para quem trabalha com aplicações com muitas telas, herança visual é substancialmente necessária para um excelente performance de desenvolvimento.
[/quote]

Para quem trabalha com muitas telas e não faz programação OO herança visual é necessária.
Para quem faz OO , não é necessária.

O conceito de desenhar telas swing com ferramentas é absurdo.

Eu prefiro a abordagem de deixar que o swing seja criado com base em configurações. Para o framework customava usar o FormLayout do JGoodies, mas acabei fazendo o meu próprio para formulários. Mas eu não defino a tela diretamente com isso, eu tenho classes onde digo onde quero o componente, que tipo de dado ele é e adiciono listeners, o codigo se encarrega de criar o objeto swing correto e cuidar do plumbing. Isto é muito mais rápido que qq ferramenta e mais do que isso, por ser dinamico pode alterar a qualquer momento e com base em parâmetros.

Criar telas desenhando é totalmente arcaico.

[quote=sergiotaborda][quote=marciosantri]Desenhar tela na mão?!?!? Mano, isso me lembra o Clipper. Vc está brincando, não é? Ou então seus projetos deve ser mais para web.
Para quem trabalha com aplicações com muitas telas, herança visual é substancialmente necessária para um excelente performance de desenvolvimento.
[/quote]

Para quem trabalha com muitas telas e não faz programação OO herança visual é necessária.
Para quem faz OO , não é necessária.

O conceito de desenhar telas swing com ferramentas é absurdo.

Eu prefiro a abordagem de deixar que o swing seja criado com base em configurações. Para o framework customava usar o FormLayout do JGoodies, mas acabei fazendo o meu próprio para formulários. Mas eu não defino a tela diretamente com isso, eu tenho classes onde digo onde quero o componente, que tipo de dado ele é e adiciono listeners, o codigo se encarrega de criar o objeto swing correto e cuidar do plumbing. Isto é muito mais rápido que qq ferramenta e mais do que isso, por ser dinamico pode alterar a qualquer momento e com base em parâmetros.

Criar telas desenhando é totalmente arcaico.
[/quote]

Eu não considero este tipo de abordagem arcaico. É extremamente complexo você definir algoritmos para definição de layout de telas, para que os componentes fiquem dispostos de uma forma ergonomicamente correta. Tirando este fator, o restante todo é bastante simples de ser automatizado realmente e dependendo do seu tipo de projeto, é a melhor abordagem, entretanto existem casos que é impossível automatizar isso basicamente pelo fato do layout não ficar apropriado.

Att.

@hmichel

Voce ta falando de qual abordagem? null-layout, fazer na mão ou usar visual editors?

[quote=Mark_Ameba]@hmichel

Voce ta falando de qual abordagem? null-layout, fazer na mão ou usar visual editors?[/quote]

Corrigi meu post anterior para ficar claro sobre o que me referia. Obrigado! :slight_smile:

Eu penso que apartir do momento em que você aprende a programar Swing de verdade não quer mais desenhar a tela com ferramenta “Arrasta-Solta”. Para quem se preocupa com código isso é uma ofensa.

Dificilmente, ou quase nunca, vê-se um profissional que conhece bem o Swing/AWT e os seus Layout Managers, reclamar de fazer a tela na mão, até mesmo porque não é complexo como dizem.

Será que quem critica o desenvolvimento de tela “na mão”, realmente aprendeu a desenvolver a tela “na mão”?