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

zzee

GridLayout personalizado.

Mensagens Recomendadas

zzee

Olá a todos,

estou a tentar desenhar um interface mas estou com alguns problemas com os layouts de ajuste automático :s

O objectivo é apresentar num panel (a vermelho) a informação seleccionada na tree do lado esquerdo do painel.

Quero colocar nesse painel alguns botões, relativos a cada item na tree, para ficar com um aspecto de navegação semelhante ao do windows explorer.

O problema ao usar o gridlayout é que estes adaptam-se ao tamanho da janela e quantidade de items. Por exemplo se apenas existir um item este esta a aparecer de margem a margem.

De preferência estes botões devem ter um tamanho constante porque podem variar entre um ou dezenas de items de modo que seria desejável ter um tamanho fixo com o panel a crescer com scroll.

layoutox.png

Muito obrigado

saudações  :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zzee

Fica para registo.

O mesmo foi conseguido com o recurso ao GridBagLayout em vez do GridLayout. Pelos vistos a maior parte dos LayoutManagers não permite mesmo "customização dos contents" a nível de tamanhos...

Para além da alteração do layout manager foi também necessário inserir o JPanel num JScrollPane para que à medida que este for crescendo em numero de botões estes fiquem acessíveis pelo scroll.

para obter o formato final desejado foi necessário configurar os constraints da seguinte forma:

GridBagConstraints itemLayout = new GridBagConstraints();
...
itemLayout.insets = new Insets(10,0,10,0);
itemLayout.gridx = i%2;
itemLayout.gridy = i/2;

em que i representa o indice do botão a adicionar.

Sds

Partilhar esta mensagem


Ligação 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. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.