Московский государственный университет имени М.В.Ломоносова
Опубликован: 01.11.2004 | Доступ: свободный | Студентов: 11275 / 456 | Оценка: 4.12 / 4.01 | Длительность: 19:20:00
ISBN: 978-5-9556-0077-9
Специальности: Программист
Лекция 27:

Библиотека классов JDK. Основы построения интерфейса пользователя на языке Java. Компоновки и элементы управления

Классы компоновок

Класс BorderLayout

Менеджер компоновки BorderLayout разбивает контейнер на пять областей и располагает добавляемые в контейнер объекты по краям (север, юг, запад, восток) и в центре.

Каждая область указывается соответствующей константой: NORTH, SOUTH, EAST, WEST и CENTER. Если в методе add отсутствует строка, указывающая расположение компонента, то по умолчанию используется значение CENTER.

На рис. 27.1. приведен внешний вид, реализуемый менеджером компоновки BorderLayout для пяти кнопок, которые расположены в контейнере - апплете.

Менеджер компоновки BorderLayout

Рис. 27.1. Менеджер компоновки BorderLayout

Следующий код иллюстрирует использование компоновки BorderLayout:

import java.applet.Applet;
import java.awt.*;
public class MyApplet extends Applet {
  public MyApplet() { 
                try { jbInit();} 
                catch(Exception e) {     }  }
  public static void main(String[] args) {
    MyApplet myApplet1 = new MyApplet(); }
  private void jbInit() throws Exception {
     setLayout(new BorderLayout());  
     add(new Button("North"), BorderLayout.NORTH);
     add(new Button("South"), BorderLayout.SOUTH);
     add(new Button("East"), BorderLayout.EAST);
     add(new Button("West"), BorderLayout.WEST);
     add(new Button("Center"), BorderLayout.CENTER);
  }
}

Класс BorderLayout предоставляет ряд методов, включая следующие:

  • GetHgap - возвращает расстояние в пикселях между компонентами по горизонтали.
  • SetHgap - устанавливает расстояние в пикселях между компонентами по горизонтали.
  • GetVgap - возвращает расстояние в пикселях между компонентами по вертикали.
  • SetVgap - устанавливает расстояние в пикселях между компонентами по вертикали.

Класс CardLayout

Класс CardLayout определяет менеджер компоновки для контейнера, который может содержать несколько страниц ("карт") и для которого одновременно может быть видна только одна карта.

Класс CardLayout предоставляет ряд методов, включая следующие:

  • GetHgap - определяет отступ по горизонтали.
  • GetVgap - определяет отступ по вертикали.
  • First - активизирует первую страницу контейнера.
  • Last - активизирует последнюю страницу контейнера.
  • Next - активизирует следующую страницу контейнера в циклическом порядке (после последней карты активизируется первая карта).
  • Previous - активизирует предыдущую страницу контейнера в циклическом порядке.
  • Show - активизирует компонент указанного контейнера.

Например:

// Для контейнера типа JPanel
void jButton1_actionPerformed(ActionEvent e) {
  ((CardLayout)jPanel1.getLayout()).next(jPanel1);
      }  
// Для контейнера типа Panel
void button1_actionPerformed(ActionEvent e) {
  cardLayout1.next(panel1);
     }

Класс FlowLayout

Менеджер компоновки FlowLayout размещает добавляемые в контейнер компоненты последовательно слева направо. Компоненты могут быть размещены в нескольких последовательных рядах.

На рис. 27.2 приведены два результата применения этой компоновки при изменении размеров контейнера.

Применение компоновки FlowLayout

Рис. 27.2. Применение компоновки FlowLayout

Класс FlowLayout предоставляет следующие константы, определяющие выравнивание компонентов:

  • CENTER - по центру.
  • LEFT - по левому краю.
  • RIGHT - по правому краю.

Класс FlowLayout предоставляет ряд методов, включая следующие:

  • SetAlignment - устанавливает выравнивание компонентов для данной компоновки. Параметр метода может принимать следующие значения: FlowLayout.LEFT, FlowLayout.RIGHT и FlowLayout.CENTER.
  • GetHgap - определяет расстояние между компонентами по горизонтали.
  • SetHgap - устанавливает расстояние между компонентами по горизонтали.
  • GetVgap - определяет расстояние между компонентами по вертикали.
  • SetVgap - устанавливает расстояние между компонентами по вертикали.
Александр Демьяненко
Александр Демьяненко

Можно ли сдавать один и тот же тест несколько раз?
Или же один и тот же тест можно сдать лишь однажды?

Максим Стогний
Максим Стогний

Добрый день!

Скажите, пожалуйста, если в терминологии объектно-ориентированного программирования функции также называются методами или методами - членами класса, в примере объявления указателя на метод использовали в формальном описании оба названия:

тип_метода (имя_класса::*имя_метода_указателя)
    (список параметров);
тип_функции (*имя_ функции_указателя)
    (список параметров);

при этом можно было  тип_функции во втором описании заменить на тип_метода? Т.е.:

тип_метода (*имя_ метода_указателя)
    (список параметров);