Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Microsoft Visual J++. Создание приложений и аплетов на языке Java. Часть 1

© Александр Фролов, Григорий Фролов
Том 30, М.: Диалог-МИФИ, 1997, 288 стр.

[Назад] [Содеожание] [Дальше]

Переключатели

Аплеты Java могут создавать в своем окне переключатели двух типов: с независимой фиксацией и с зависимой фиксацией.

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

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

Переключатели с зависимой фиксацией имеют круглую форму. В каждый момент времени может быть включен только один такой переключатель из группы переключателей с фиксацией. Аплет может создавать несколько групп переключателей с зависимой фиксацией.

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

Создание переключателей с независимой фиксацией

Переключатели с независимой и зависимой фиксацией создаются на базе класса Checkbox:


public class java.awt.Checkbox
  extends java.awt.Component
{
  // -----------------------------------------------------
  // Конструкторы
  // -----------------------------------------------------
  
  // Создание переключателя с независимой фиксацией 
  // без названия
  public Checkbox();

  // Создание переключателя с независимой фиксацией 
  // и названием
  public Checkbox(String label);

  // Создание переключателя с зависимой фиксацией 
  // и названием
  public Checkbox(String label, CheckboxGroup group, 
    boolean state);

  // -----------------------------------------------------
  // Методы
  // -----------------------------------------------------

  // Вызов метода createCheckbox
  public void addNotify();

  // Получение группы, к которой относится
  // данный переключатель с зависимой фиксацией
  public CheckboxGroup getCheckboxGroup();

  // Получение названия переключателя
  public String getLabel();

  // Определение текущего состояния переключателя
  public boolean getState();

  // Получение строки параметров
  protected String paramString();

  // Установка группы, к которой относится
  // данный переключатель с зависимой фиксацией
  public void setCheckboxGroup(CheckboxGroup g);

  // Установка названия переключателя
  public void setLabel(String label);

  // Установка нового состояния переключателя
  public void setState(boolean state);
}

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


Checkbox rdbox1;
. . .
public void init()
{
  chbox1 = new Checkbox("Switch 1");
  add(chbox1);
}

В этом фрагменте кода мы создаем переключатель chbox1 с названием Switch 1, а затем с помощью метода add добавляем его в контейнер, которым является окно аплета.

Для определения текущего состояния переключателя вы можете использовать метод getState. Если переключатель включен, этот метод возвращает значение true, а если выключен - значение false.

Создание переключателей с зависимой фиксацией

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


public  class  java.awt.CheckboxGroup
    extends  java.lang.Object
{
  // -----------------------------------------------------
  // Конструктор
  // -----------------------------------------------------
  public CheckboxGroup();

  // -----------------------------------------------------
  // Методы
  // -----------------------------------------------------
  
  // Получение ссылки на переключатель, который
  // находится во включенном состоянии
  public Checkbox getCurrent();

  // Установка указанного переключателя в группе
  // во включенное состояние
  public void setCurrent(Checkbox box);

  // Получение строки, которая представляет группу
  public String toString();
}

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


CheckboxGroup grModeGroup;
Checkbox rdbox1;
Checkbox rdbox2;
Checkbox rdbox3;
Checkbox rdbox4;
. . .
public void init()
{
  grModeGroup = new CheckboxGroup();
    
  rdbox1 = new Checkbox("Mode 1",grModeGroup, true);
  rdbox2 = new Checkbox("Mode 2",grModeGroup, false);
  rdbox3 = new Checkbox("Mode 3",grModeGroup, false);
  rdbox4 = new Checkbox("Mode 4",grModeGroup, false);

  add(rdbox1);
  add(rdbox2);
  add(rdbox3);
  add(rdbox4);
}

Через первый параметр конструктору Checkbox в этом примере передается название переключателя, через второй - ссылка на группу, а через третий - состояние, в которое должен быть установлен переключатель. Из всех переключателей группы только один может находиться во включенном состоянии.

[Назад] [Содеожание] [Дальше]