Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
zzee

GridLayout personalizado.

Recommended Posts

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  :)

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.