Программирование мобильных телефонов на 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


     

     

    Менеджер BorderLayout

    Менеджер размещения BorderLayout делит контейнер на пять неравных областей, полностью заполняя каждую область одним компонентом, как показано на рис. 11.2. Области получили географические названия NORTH, SOUTH, WEST, EAST И CENTER.

    Метод add о в случае применения BorderLayout имеет два аргумента: ссылку на компонент сотр и область region, в которую помещается компонент — одну из перечисленных выше констант:

    add(Component comp, String region)

    Обычный метод add (Component comp) с одним аргументом помещает компонент В область CENTER .

    В классе два конструктора:

    • BorderLayout () — между областями нет промежутков;
    • BorderLayout(int hgap int vgap) — между областями остаются горизонтальные hgap и вертикальные vgap промежутки, задаваемые в пикселах.

    Если в контейнер помещается менее пяти компонентов, то некоторые области не используются и не занимают места в контейнере, как можно заметить на рис. 11.3. Если не занята область CENTER , то компоненты прижимаются к границам контейнера.

    В листинге 11.2 создаются пять кнопок, размещаемых в контейнере. Заметьте отсутствие установки менеджера в контейнере setLayout () — менеджер BorderLayout установлен в контейнере Frame по умолчанию. Результат размещения показан на рис. 11.2.

    Листинг 11.2. Менеджер размещения BorderLayout 

    import java.awt.*; 

    import ]ava.awt.event.* ;

    class BorderTest extends Frame{ 

    BorderTest(String s){ super(s);

    add(new Button("North"), BorderLayout.NORTH); 

    add(new Button("South"), BorderLayout.SOUTH); 

    add(new Button("West"), BorderLayout.WEST); 

    add(new Button("East"), BorderLayout.EAST); 

    add(new Button("Center")); 

    setSize(300, 200); 

    setVisible(true); 

    public static void main(String[] args){

    Frame f= new BorderTest(" Менеджер BorderLayout"); 

    f.addWindowListener(new WindowAdapter(){

    public void windowClosing(WindowEvent ev){

    System.exit(0); 

    }

    });

    }

    Рис. 11.2. Области размещения BorderLayout

    Менеджер размещения BorderLayout кажется неудобным: он располагает не больше пяти компонентов, последние растекаются по всей области, области имеют странный вид. Но дело в том, что в каждую область можно поместить не компонент, а панель, и размещать компоненты на ней, как сделано в листинге 11.3 и показано на рис. 11.3. Напомним, что на панели Panel менеджер размещения по умолчанию FiowLayout.

    Листинг 11.3. Сложная компоновка 

    import j ava.awt.*; 

    import java.awt.event.*;

    class BorderPanelTest extends Frame{ 

    BorderPanelTest(String s){ 

    super(s);

        // Создаем панель р2 с тремя кнопками 

    Panel p2 = new Panel();

    p2.add(new Button("Выполнить")); 

    p2.add(new Button("Отменить")); 

    p2.add(new Button("Выйти"));

    Panel pi = new Panel ();

    pi.setLayout(new BorderLayout());

        // Помещаем панель р2 с кнопками на "юге" панели р1 

    p1.add(p2, BorderLayout.SOUTH);

        // Поле ввода помещаем на "севере" 

    p1.add(new TextFieldt"Поле ввода", 20), BorderLayout.NORTH);

        // Область ввода помещается в центре 

    p1.add(new TextArea("Область ввода", 5, 20, TextArea.SCROLLBARS_NONE), BorderLayout.CENTER);

    add(new Scrollbar(Scrollbar.HORIZONTAL), BorderLayout.SOUTH); 

    addfnew Scrollbar(Scrollbar.VERTICAL), BorderLayout.EAST);

        // Панель p1 помещаем в "центре" контейнера add(p1, BorderLayout.CENTER); 

    setSizePOO, 200); 

    setVisible(true) ; 

    public static void main(String[] args){

    Frame f= new BorderPanelTest(" Сложная компоновка"); 

    f.addWindowListener(new WindowAdapter(){

    public void windowClosing(WindowEvent ev){

    System.exit(0); 

    }

    }); 

    }

    Рис. 11.3. Компоновка  с помощью FiowLayout и BorderLayout

     

    -
    



    Copyright © vzlom-1.ru 2020-2021