Программирование мобильных телефонов на Java


Программирование мобильных телефонов

  • Введение
  • Глава 1. Устройство мобильных телефонов
  • Глава 2. Платформа Java 2 Micro Edition
  • Глава 3. Средства разработки мобильных приложений
  • Глава 4. Телефонные эмуляторы
  • Глава 5. Механизм работы приложений Java 2 ME
  • Глава 6. Классы пользовательского интерфейса
  • Глава 7. Программирование графики
  • Глава 8. Техника создания игр
  • Глава 9. Мобильная мультимедиа-библиотека
  • Заключение
  • Приложение 1. Основы языка Java
  • Приложение 2. Справочник по Java 2 Micro Edition

     

    Программирование на Java

  • Введение
  • Глава 1. Встроенные типы данных, операции над ними
  • Глава 2. Объектно-ориентированное программирование в Java
  • Глава 3. Пакеты и интерфейсы
  • Глава 4. Классы-оболочки
  • Глава 5. Работа со строками
  • Глава 6. Классы-коллекции
  • Глава 7. Классы-утилиты
  • Глава 8. Принципы построения графического интерфейса
  • Глава 9. Графические примитивы
  • Глава 10. Основные компоненты
  • Глава 11. Размещение компонентов
  • Глава 12. Обработка событий
  • Глава 13. Создание меню
  • Глава 14. Апплеты
  • Глава 15. Изображения и звук
  • Глава 16. Обработка исключительных ситуаций
  • Глава 17. Подпроцессы
  • Глава 18. Потоки ввода/вывода
  • Глава 19. Сетевые средства Java
  • Приложение. Развитие Java

  • 

    3fb01dc2


     

     

    Менеджер GridBagLayout

    Менеджер размещения GridBagLayout расставляет компоненты наиболее гибко, позволяя задавать размеры и положение каждого компонента. Но он оказался очень сложным и применяется редко.

    В классе GridBagLayout есть только один конструктор по умолчанию, без аргументов. Менеджер класса GridBagLayout, в отличие от других менеджеров размещения, не содержит правил размещения. Он играет только организующую роль. Ему передаются ссылка на компонент и правила расположения этого компонента, а сам он помещает данный компонент по указанным правилам в контейнер. Все правила размещения компонентов задаются в

    Объекте другого класса, GridBagConstraints.

    Менеджер размещает компоненты в таблице с неопределенным заранее числом строк и столбцов. Один компонент может занимать несколько ячеек этой таблицы, заполнять ячейку целиком, располагаться в ее центре, углу или прижиматься к краю ячейки.

    Класс GridBagConstraints содержит одиннадцать полей, определяющих размеры компонентов, их положение в контейнере и взаимное положение, и несколько констанГ — значений некоторых полей. Они перечислены в табл. 11.1. Эти параметры определяются конструктором, имеющим одиннадцать аргументов. Второй конструктор — конструктор по умолчанию — присваивает параметрам значения, заданные по умолчанию.

    Таблица 11.1. Поля класса GridBagConstraints

    Поле

    Значение

    anchor

    Направление размещения компонента в контейнере. Константы:

    CENTER, NORTH, EAST, NORTHEAST, SOUTHEAST, SOUTH, SOUTHWEST,

    WEST, и NORTHWEST; no умолчанию CENTER

    fill

    Растяжение компонента для заполнения ячейки. Константы: NONE, HORIZONTAL, VERTICAL, BOTH; ПО умолчанию NONE

    gridheight

    Количество ячеек в колонке, занимаемых компонентом. Целое типа int, по умолчанию 1. Константа REMAINDER означает, что компонент займет остаток колонки, RELATIVE — будет следующим по порядку в колонке

    gridwidth

    Количество ячеек в строке, занимаемых компонентом. Целое типа int, по умолчанию 1. Константа REMAINDER означает, что компонент займет остаток строки, RELATIVE — будет следующим в строке по порядку

    gridx

    Номер ячейки в строке. Самая левая ячейка имеет номер 0. По умолчанию константа RELATIVE, что означает: следующая по порядку

    gridy

    Номер ячейки в столбце. Самая верхняя ячейка имеет номер 0. По умолчанию константа RELATIVE, что означает: следующая по порядку

    insets

    Поля в контейнере. Объект класса insets; по умолчанию объект с нулями

    ipadx, ipady

    Горизонтальные и вертикальные поля вокруг компонентов; по умолчанию 0

    weightx,

    weighty

    Пропорциональное растяжение компонентов при изменении размера контейнера; по умолчанию 0,0

    Как правило, объект класса GridBagConstraints создается конструктором по умолчанию, затем значения нужных полей меняются простым присваиванием новых значений, например:

    GridBagConstraints gbc = new GridBagConstraints(); 

    gbc.weightx = 1.0;

    gbc.gridwidth = GridBagConstraints.REMAINDER; 

    gbc.gridheight =2;

    После создания объекта gbc класса GridBagConstraints менеджеру размещения указывается, что при помещении компонента сотр в контейнер следует применять правила, занесенные в объект gbc. Для этого применяется метод

    add(Component comp, GridBagConstraints gbc)

    Итак, схема применения менеджера GridBagLayout такова :

    GridBagLayout gbl = new GridBagLayout();     // Создаем менеджер 

    setLayout(gbl);                              // Устанавливаем его в контейнер 

                                                   // Задаем правила размещения по умолчанию 

    GridBagConstraints с = new GridBagConstraints(); 

    Button b2 = new Button();                    // Создаем компонент 

    c.gridwidth =2;                              // Меняем правила размещения 

    add(bl, с);                                  // Помещаем компонент b2 в контейнер

                                                 // по указанным правилам размещения с

    Button Ь2 = new Button();                    // Создаем следующий компонент 

    c.gridwidth = 1;                             // Меняем правила для его размещения 

    add(b2, с);                                  // Помещаем в контейнер

    и т.д.

    В документации к классу GridBagLayout приведен хороший пример использования этого менеджера размещения.

     

    -
    



    Copyright © vzlom-1.ru 2020-2021