1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Java Swing Layout

Discussão em 'Programação' iniciada por petersaints, 12 de Janeiro de 2009. (Respostas: 3; Visualizações: 2419)

  1. petersaints

    petersaints Power Member

    Estou com um projecto em Java entre mãos em que tenho que criar uma GUI.

    Necessitava de criar um layout de JPanels que variasse de tamanho conforme os valores iniciais introduzidos numa janela de configuração inicial. Por exemplo escolher x linhas e y colunas... Tenho andado a dar voltar mas não sei como criar isto de forma dinâmica.

    Andei a ler sobre layouts mas todos obrigam a escolher o JPanels estaticamente e eu precisava era de fazer código que conforme as x linhas e y colunas gerasse a quantidade de JPanels necessários e os colocasse segundo um certo layout. Não faço a mínima ideia de como conseguir isto :(

    Uso NetBeans 6.5 se vos for de alguma ajuda.

    Desde já o meu obrigado ;)
     
  2. nfh

    nfh Power Member

    Se o que tu pretendes é uma organização em grelha, então sugiro-te que estudes o GridLayout. Este layout manager permite organizar o conteúdo de um container (que pode ser o próprio JFrame onde vais colocar os JPanel's) sob a forma de grelha em que todas as linhas têm a mesma altura e todas as colunas têm a mesma largura.

    A criação de JPanels dinamicamente é feita de forma (quase) idêntica à criação de novos objectos de uma classe qualquer. Tens de criar uma instância de JPanel e depois tens de adicioná-la a um container (usando o método add do container).

    Dá uma leitura atenta neste tutorial: http://java.sun.com/docs/books/tutorial/uiswing/components/panel.html

    e neste: http://java.sun.com/docs/books/tutorial/uiswing/layout/grid.html
     
  3. petersaints

    petersaints Power Member

    Antes de mais nada.. muito obrigado pelas dicas ;)

    Apesar de em parte ja ter chegado à mesma conclusão, utilização de GridLayout :P Mas ainda tenho que dominar a coisa, e penso que com o teu segundo paragrafo e com os links possa lá chegar :).

    Qualquer coisa mais volto a postar... mas se mais alguém tiver algo a dizer agradeço também!

    Cumps
     
  4. nfh

    nfh Power Member

    Se usas o NetBeans, então cria um novo JFrame Form, atribui-lhe o layout manager GridLayout e coloca um JPanel no JFrame. Depois dá uma vista de olhos no método initComponents() que é criado automaticamente e vê como é que os componentes visuais são criados por código (o NetBeans faz basicamente isso quando desenhamos um ecrã com o Matisse).
     

Partilhar esta Página