Как согласовать компонентов в горизонтальном или вертикальном L

BoxLayout

Этот совет Java Swing иллюстрирует макет, который помогает в согласовании Вашей compnents в горизонтальной и вертикальной образом. Это делается с помощью BoxLayout в вашем приложении. BoxLayout это макет менеджеру, что стеки либо его компоненты друг на друга или ставит их в ряд ваш выбор.


import javax.swing.*;

import java.awt.*;

import java.awt.event.*;



public class BoxLayoutDemo extends JFrame {

   public BoxLayoutDemo()

   {

      super"Demostrating BoxLayout" );

      final int SIZE = 3;



      Container c = getContentPane();

      c.setLayoutnew BorderLayout3030 ) );



      Box boxes[] new Box];



      boxes= Box.createHorizontalBox();

      boxes= Box.createVerticalBox();

      boxes= Box.createHorizontalBox();

      boxes= Box.createVerticalBox();



      // add buttons to boxes[ 0 ]

      for int i = 0; i < SIZE; i++ )

         boxes].addnew JButton"boxes[0]: " + i ) );



      // create strut and add buttons to boxes[ 1 ]

      for int i = 0; i < SIZE; i++ ) {

         boxes].addBox.createVerticalStrut25 ) );

         boxes].addnew JButton"boxes[1]: " + i ) );

      }



      // create horizontal glue and add buttons to boxes[ 2 ]

      for int i = 0; i < SIZE; i++ ) {

         boxes].addBox.createHorizontalGlue() );

         boxes].addnew JButton"boxes[2]: " + i ) );

      }



      // create rigid area and add buttons to boxes[ 3 ]

      for int i = 0; i < SIZE; i++ ) {

         boxes].add(

            Box.createRigidAreanew Dimension12) ) );

         boxes].addnew JButton"boxes[3]: " + i ) );

      }



      // create horizontal glue and add buttons to panel

      JPanel panel = new JPanel();

      panel.setLayout(

         new BoxLayoutpanel, BoxLayout.Y_AXIS ) );



      for int i = 0; i < SIZE; i++ ) {

         panel.addBox.createGlue() );

         panel.addnew JButton"panel: " + i ) );

      }



      // place panels on frame

      c.addboxes], BorderLayout.NORTH );

      c.addboxes], BorderLayout.EAST );

      c.addboxes], BorderLayout.SOUTH );

      c.addboxes], BorderLayout.WEST );

      c.addpanel, BorderLayout.CENTER );



      setSize350300 );

      show();

   }



   public static void mainString args[] )

   {

      BoxLayoutDemo app = new BoxLayoutDemo();



      app.addWindowListener(

         new WindowAdapter() {

            public void windowClosingWindowEvent e )

            {

               System.exit);

            }

         }

      );

   }

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>