Pessoal gostaria de algumas opiniões, trabalho com java e uso o netbeans há 02 anos para JSE, apesar de gostar mais do eclipse por umas e outras que não curto no netBeans, que também não posso reclamar pois já me ajudou e muito, estou com idéia de fazer meus projetos tudo no código mesmo, pois posso usar o eclipse ou qualquer outra IDE sem me prender em alguns plugins, pois tentei usar o VE mais não curti achei muito lento.
Alguém aqui trabalha com Swing tudo na unha ? Conseguiram algumas técnicas para tornar-se produtivo, principalmente em projeto grande ?
Faça tudo “na unha”. Tenha “domínio” do que você faz, nem que custe um alguns minutos a mais desenvolvendo.
Em projetos grandes, talvez, em algum momento, você terá que fazer manutenção do código, fazer alguns refactor e dai aquele código feito pelo netbeans vai dar problema. Ainda mais com componentes adicionados a paleta, e que ficam com o código tudo travado, vai te incomodar.
Faz na mão, e com a prática você se tornará produtivo.
[quote=cawink]Faça tudo “na unha”. Tenha “domínio” do que você faz, nem que custe um alguns minutos a mais desenvolvendo.
Em projetos grandes, talvez, em algum momento, você terá que fazer manutenção do código, fazer alguns refactor e dai aquele código feito pelo netbeans vai dar problema. Ainda mais com componentes adicionados a paleta, e que ficam com o código tudo travado, vai te incomodar.
Faz na mão, e com a prática você se tornará produtivo.
[/quote]
Na verdade eu tenho um sistema grande que fiz tudo usando netbeans e realmente aquele código travado irrita um pouco, alguma vezes precisei fazer override em código que o netBeans cria e por esses dias comecei a praticar o código na unha e vi que dá pra se organizar bem, o que você falou é verdade vou precisar de bastante prática e me organizar bem.
Aconselho a utilização do GridBagLayout, pois funciona como uma tabela. Os componentes podem ocupar mais de uma célula, podem ser alinhados às margens da célula, etc. Essas características são conhecidas como restrinções (GridBagConstraints). E também o GridBagLayout é considerado como um dos gerenciadores de layout mais flexíveis e complexos que a plataforma Java oferece.
O código gerado automagicamente funciona perfeitamente, nem discuto isso.
Mas como falei, para fazer manutenções, grandes refactores, talvez ocorra alguns problemas, devidos aqueles arquivos .form que tem por baixos dos panos e que fazem a magia toda funcionar com o .java.
Já passamos por isso aqui na empresa, com refactores de pacotes no netbeans. Esses malditos .form nos custaram algumas semanas a mais de trabalho.
O maior problema nem são os refactorings.
São quando vc esbarra em código que deve gerar conteúdo dinâmico. Coisas como ter na tela um número de checkboxes que venha do banco, ou abrir uma aba num formulário para cada cliente. Muita gente descobre a importância de conhecer Swing (e não só matisse ou VE) quando vem um requisito desse tipo. Aí, talvez, seja tarde demais para evitar as horas extras e a pizza durante a noite na empresa.
Ainda acho que programar na mão te garante uma segurança(e independência!) que as IDE´s não são capazes de te garantir(ainda!).
++!No início, eu usava o formslayout, mas o miglayout evoluiu ainda mais, e hoje é o meu “padrão” de codificação de grids.Simplesmente excelente.
Ainda não o utilizei, mas tenho acompanhado sua evolução.Não gosto dos setBounds da vida, e adoraria um dia que a IA dessas ferramentas conseguirem “adivinhar” uma dada posição e utilizar o máximo possível de um layout sem uma posição definida(absoluta) na tela.
Eu precisava ler sobre isso realmente, pois SÓ CONSIGO FAZER GUI no netbeans E isso está me deixando MUITO frustrado … muito mesmo… Eu ja tentei usar na unha, comecei com flowlayout, gridlayout e minhas GUIs ficaram HORRÍPILENTAS … Muitoo feias mesmo … Então o conselho geral da galera é usar o MigLayout ?
Preciso aprender… Urgente a fazer minhas próprias GUI na mão … Então a duvida seria, por onde começar?
Obrigado desde já pela opinião de todos que já postaaram…
Eu precisava ler sobre isso realmente, pois SÓ CONSIGO FAZER GUI no netbeans E isso está me deixando MUITO frustrado … muito mesmo… Eu ja tentei usar na unha, comecei com flowlayout, gridlayout e minhas GUIs ficaram HORRÍPILENTAS … Muitoo feias mesmo … Então o conselho geral da galera é usar o MigLayout ?
Preciso aprender… Urgente a fazer minhas próprias GUI na mão … Então a duvida seria, por onde começar?
Obrigado desde já pela opinião de todos que já postaaram…
[/quote]
Evite Border Layout e Flowlayout. Eles dão muita dor de cabeça com múltiplas resoluções
Estude Boxlayout. Ele é muito poderoso, mas a maioria não conhece os poderes da glue dele.
Crie um padrão de nomeação para seus elementos. Eu uso assim:
ChekBox cbCasado = new Chekbox();
ChekBox cbSolteiro = new Chekbox();
JTextBox txtNome = new JTextBox();
Extremamente últil para os autocompletar da vida.
4.Use innerClasses para tratar seus eventos. Fazer tudo na mesma classe traz muita confusão.
Documente tudo, pois fazer tudo na mão leva mais tempo, o que dificulta lembrar de todo código a longo prazo.
Existe algo parecido com mvc em interfaces gráficas, só não lembro o nome. Mas se você já tem experiência, use. Vai deixar seu código bem limpo.
Pensa bem se é isso que você quer, pois até onde eu sei, depois que começa um layout assim, não dá migrar ele pra usar mantisse e afins, ou só partes deles.
Olha, entendo a opinião de vocês sobre layouts, um é melhor, outro é pior etc etc.
Mas, cada layout tem sua função, aparentemente parece que um ou outro não funcionam, mas talvez seja porque estejam sendo usados errados ou em momentos inapropriados.
Normalmente, para fazer componentes, posicionar JTables, JButtons, JPanels etc etc eu uso o GridBagLayout, vc faz o que quiser com ele em termos de posicionanemto e dimensionamento.
Não conheço o MigLayout, mas aprovo a idéia, pois o Swing do java é tão customizável que qualquer pessoa pode fazer o seu layout, assim como pode fazer o seu JButton, JPanel. Basta ler a documentação do Swing, é algo realmente impressionante, pode-se mudar tudo.
No mais, a pergunta era sobre “tudo na unha”. Assim, reforço a minha idéia, faça tudo na unha, pois só assim você terá experiência de fazer os seu próprio layout, seu JPanel, entre outros componentes customizado, que serão o diferencial no seu software.