Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

dos.santos

[Resolvido]Layouts em Swing

Mensagens Recomendadas

dos.santos    0
dos.santos

Boas,

Para quem programa com Swing, que layouts costumam usar?

Assim há primeira vista e desde que tenho andado a brincar um pouco com o Swing, dos layouts que tenho experimentado, o GridBagLayout é o que mais gostei de mexer.

Dos outros, cada um pior que o outro... IMHO!  :nono1:

E mesmo com o GridBagLayout, muitas vezes não consigo o resultado que quero...

Também há o chamado "absolute positioning" , e na net já vi alguns projectos de relative layout para o Swing, mas... o que é que vocês costumam usar?

Os layouts são para já o que menos gosto em Swing.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

Pois eu passei pelo mesmo lol tanto em Swing com em SWT visto terem os mesmos layouts, por isso agora uso sempre pontos absolutos, pode não ser o melhor mas como normalmente faço windows não resizeble serve bem :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Antes de começar a usar o Netbeans IDE usava uma combinação de layouts. Flows, GridBags, Box, todos os que estavam disponiveis eram usados.

É como criar páginas html com tabelas dentro de tabelas, é sempre preciso pensar bem o que se quer fazer, e como se vai implementar.

Actualmente como uso o Netbeans IDE, o editor de interfaces gráficas possui um novo layout que parece absoluto, mas que na realidade é relativo. Durante o desenvolvimento é tudo facilitado, parece que estou a desenvolver em delphi, é só arrastar os componentes para a área de trabalho. Durante a execução do programa o layout é que se reponsabiliza por manter a proporção e espaçamento entre os componentes de forma a que tudo fique correcto.

Se quiseres usar os layouts normais, vais ter de os usar todos para conseguires efeitos coerente. Um que apenas o JBuilder tinha, o VerticalFlow Layout, que dava imenso jeito, pode ser conseguido com a mistura entre um Box com orientação vertical e um Flow.

Quando digo que deves de usar todos tens de reparar que um painel só pode ter um layout, o que te leva a ter paineis dentro de paineis e isso é que se pode tornar confuso. Normalmente precisava sempre de fazer o desenho no papel para saber quantos paineis são precisos.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

Tens outra hipótese que é o que normalmente uso para janelas resizible que é meter os pontos absolutos de forma dinâmica ou seja com as medidas da janela posicionas os componentes, assim se aumentar a janela os componentes também se auto posicionam.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Mas isso dá mais trabalho que o que realmente vale :)

Janelas absolutas são uma má opção. Janelas dinâmicas onde tenhas de trabalhar com o tamnho da janela só te dará mais trabalho e verás a tua aplicação a consumir mais recursos do que o que precisa.

Os layouts são uma vantagem enorme, até ao momento os layouts provinham do AWT, o que os tronava dificeis de usar e manipular. Mas com os novos layouts que existem as coisas estão bem mais facilitadas para o programador.

Se realmente queres usar Swing talvez usar o Netbeans seja um boa opção.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dos.santos    0
dos.santos

Quando digo que deves de usar todos tens de reparar que um painel só pode ter um layout, o que te leva a ter painéis dentro de painéis e isso é que se pode tornar confuso. Normalmente precisava sempre de fazer o desenho no papel para saber quantos painéis são precisos.

Pelo facto de um painel poder apenas ter um layout é que eu tento usar o GridBagLayout o máximo possível, mas o resultado final nem sempre é o que eu espero...

E já agora, paneis dentro de painéis  e painéis dentro de frames, a longo prazo não tornarão o que estares a fazer num monstro glutão de memória?

Uma coisa que tenho vindo a reparar, é a falta de documentação sobre layouts no geral pela web, ou será que isto é apenas impressão minha?

Conhecem por aí alguns links interessantes sobre esta parte do Swing?

Cumprimentos,

Miguel.

ps. IDEs mesmo IDES, sou obrigado a dispensar, programo essencialmente num portátil e não há memória que aguente esses meninos... Nada como um notepad! :)

Já estive para pensar em usar o Vim mas o tempo que teria de despender para aprender a usar aquilo neste momento não me interessa muito.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Na realidada não existe muita documentação sobre layouts. Mas eu apenas uso como referência o Java Tutorial e mais nenhum por isso não te posso indicar outros tutoriais. É pena que não possas usar um IDE, o Eclipse ou o Netbeans correm bem em 256 MB de RAM, é claro que ficarão lentos mas sempre consegui viver com isso :)

Se usares mesmo um programa tipo notepad então usa o notepad++, sempre é uma ajuda.

Quanto aos paineis consumirem mais memória, depende da forma como fizeres. Mas a questão é que é muito difícil fazer algumas janelas correctamente só com um painel. E o resultado é também um papão de memória. Além de que, como disseste, muitas fezes não sai como queres.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade