No design da interface, um contêiner deve ser colocado em muitos componentes. Java.awt define uma variedade de classes de layout, cada classe de layout corresponde a uma estratégia de layout. A seguinte categoria de layout:
• FlowLayout, componentes colocados por sua vez.
• Boarderlayout, coloque os componentes no limite.
• Cardlayout, componentes da pilha como cartões de poker e só pode exibir um dos componentes de cada vez.
• Gridlayout divide a área de exibição em grades iguais de acordo com linhas e colunas, e os componentes são colocados nessas grades por sua vez.
• Gridbaglayout divide a área de exibição em muitas unidades pequenas, e cada componente pode ocupar uma ou mais unidades pequenas.
Entre eles, o GridBaglayout pode executar o controle de posição fina e o mais complicado. Este tutorial não discutirá essa estratégia de layout por enquanto e explicará em detalhes em um artigo especial.
Cada contêiner possui um gerente de layout e decide como organizar componentes no contêiner. O gerenciador de layout é uma classe que implementa a interface LayoutManager.
1. Layout do FLOWLAYOUT
O layout FlowLayout é organizar os componentes da esquerda para a direita de acordo com a ordem da adição e depois transferir para a linha para continuar da esquerda para a direita após uma linha, e os componentes em cada linha estão dispostos no meio. Esta é a estratégia de layout mais fácil.
O FlowLayout é o layout padrão de pequenas aplicações e painéis.
1.FLOWLAYOUT (), gerar um layout de fluxo padrão padrão. Por padrão, o componente está no meio, com 5 pixels.
2. FlowLayout (int aligment), defina o método de alinhamento de cada componente. O alinhamento pode estar disponível para FlowLayout.Left, FlowLayout.Center, FlowLayout.Richt.
3.FLOWLAYOUT (int aligment, int Horz, int vert), defina o método de alinhamento e defina o espaçamento horizontal Horz e o vertical vertical do componente, defina o layout do contêiner com o método do contêiner de super classe. Por exemplo, o código setLayout (new FlowLayout ()) define o layout FlowLayout para o contêiner. O método de adicionar um componente ao contêiner é add (nome do componente).
2. Layout da BorderLayout (Jwindow, JFrame, layout padrão do JDialog)
A estratégia de layout da BorderLayout é simplesmente dividir o espaço no recipiente nas cinco áreas de "leste", oeste "oeste", sul "sul", norte "norte" e "centro". Ao ingressar no componente, você deve indicar qual área colocada na qual o componente é colocado. Coloque um componente em uma posição. Se você deseja adicionar vários componentes em um determinado local, primeiro adicione o componente do local para colocar outro contêiner e adicione o contêiner a essa posição.
O método da estrutura do layout da fronteira é:
(1) BorderLayout (), gerar um layout padrão da borda. Por padrão, não há lacuna.
(2) BorderLayout (int horz, int vert), defina o espaçamento horizontal e vertical entre os componentes.
O método de configuração da estratégia de layout da BorderLayout é setLayout (new BorderLayout ()). O método de adicionar o componente ao contêiner é adicionado (nome do componente, localização).
O layout da BorderLayout é o layout padrão de Jwindow, JFrame, JDialog.
[Exemplo 11-5] O aplicativo possui cinco rótulos, que são colocados nas cinco áreas do leste, oeste, sul, norte e médio e médio, respectivamente.
Importar javax.swing.*; Janela "); // Crie um objeto de contêiner de janela mw.setsize (250.200); contêiner con = mw.getContentPane (); con.setLayout (new BorderLayout ()); label1 = new jlabel (" tag leste "); / / / / / O padrão deixado para Qi Qi Rótulo2 = New JLabel ("Tag Sul", JLabel.Center); Novo Jlabel ("" Mid -label ", Jlabel.Center); .Add (Label4, "North");
3.GridLayout Layout
O layout do gridlayout é dividir o contêiner em uma forma de grade semelhante à grade. As características do layout do GridLayout são que o posicionamento do componente é mais preciso. Como cada grade no layout do GridLayout tem a mesma forma e tamanho, os componentes necessários para colocar no contêiner também devem manter o mesmo tamanho.
O método construtivo do layout de gridlayout é:
(1) GridLayout (), gerar um layout de gridlayout de coluna única. Por padrão, não há lacuna.
(2) GridLayout (Int Row, Int Color), defina um layout de GridLayout com linhas e colunas Col.
(3) GridLayout (INT Rinha, Int Color, int Horz, Int Vert), defina o número de linhas e colunas do layout, o espaçamento horizontal e vertical do componente.
O layout do GridLayout é baseado em benchmarks comportamentais. de prioridade (aumentada automaticamente de acordo com o componente). Cada grade do layout da grades deve ser preenchida no componente.
[Exemplo 11-6] Aplicações pequenas colocam vários botões e vários rótulos no JPanel e, em seguida, coloque o JPanel no JSCROLLPANE. do que os requisitos reais do painel.
Importar java.Applet.*; Nova dimensão (W, h); ++) {p.add (new jlabel ()); ); (W+60, H+60); ();}} Classe scrolpane excrollPane {public scrollpane (componente p) {super (p); MyWindow; {MyWindow = new MyWindow (400, 350);}}
O layout do GridLayout requer que o tamanho de todos os componentes seja consistente, o que pode não ser bonito o suficiente para usar a aparência da interface. Um remédio é combinar alguns componentes em um contêiner, depois usar esse contêiner como um componente e colocá -lo no layout do GridLayout. Este é o ninho de contêiner mencionado anteriormente. Por exemplo, o contêiner A usa o layout do gridlayout para dividir o contêiner em grades; O contêiner B e C também podem ser definidos como layout do gridlayout, dividir -se em várias grades ou também podem ser definidos em outros layouts. Dessa maneira, pela aparência, o tamanho de cada componente é diferente.
4.CardLayout Layout
Embora o contêiner usando o layout do Cardlayout possa acomodar vários componentes, vários componentes têm o mesmo espaço de exibição e apenas um componente pode ser exibido em um determinado momento. Assim como uma pilha de cartões de poker pode exibir apenas a de cada vez, esse componente exibido ocupará todo o espaço do contêiner. As etapas de design de layout do Cardlayout são as seguintes:
Primeiro, crie um objeto de layout do Cardlayout. Em seguida, use o método setLayout () para definir o layout para o contêiner. A maioria, o método add () de chamar o contêiner adiciona o componente ao contêiner. O método de adicionar o componente da estratégia de layout do Cardlayout é:
Add (código do componente, componente);
O código do componente é uma string, que é fornecida separadamente e não tem nada a ver com o nome do componente.
Por exemplo, o código a seguir define o layout do Cardlayout para um contêiner JPanel:
Cardlayout mycard = new cardlayout ();
Existem duas maneiras de exibir um componente no método fornecido pela classe Cardlayout:
(1) Código na forma de show (nome do contêiner, código do componente) e especifique uma exibição de componente em um contêiner. Por exemplo, o código a seguir especifica o componente do contêiner P para exibir este componente:
mycard.show (p, k);
(2) O componente é exibido para adicionar o contêiner de acordo com o componente.
primeiro (contêiner): por exemplo, code mycard.first (p);
Último (contêiner): por exemplo, mycard.last (p);
Próximo (contêiner): por exemplo, mycard.next (p);
Anterior (contêiner): mycard.previous (p);
[Exemplo 11-7] Pequenos aplicativos usam o layout do Cardlayout. A janela possui 4 botões, responsáveis por exibir o primeiro componente de P, o último componente, o primeiro componente do componente atual e o último componente do componente atual.
Importar java.Applet.*; (); MyCard; Void Init () {setLayout (New BorderLayout ()); Mycard); ); (P2, "Primeiro", este); iftactionCommand (). (E.GetActionCommand (). Equals ("前一个")) MyCard.Previous (P);
5. Layout NULL e Método Setbounds
O layout do ar é definir o layout de um recipiente para o layout nulo. O layout do ar usa o método setBounds () para definir o tamanho do próprio componente e a posição no contêiner:
Setbounds (int x, int y, int largura, int altura)
A área ocupada pelo componente é um parâmetro x e y é a coordenada da posição do canto superior esquerdo do componente no contêiner; Existem duas etapas para os componentes de reassentamento do layout do ar: primeiro use o método add () para adicionar componentes no recipiente do corpo. Em seguida, ligue para o método setBounds () para definir a posição do componente no contêiner e o tamanho do próprio componente. Outros métodos relacionados aos componentes:
1.getSize ().
2.getSize ()
3.SetVGAP (ing vGAP)
4.SethGap (int hGAP);