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

Оглавление

Компоненты
Кнопки
Переключатели
Списки Choice
Списки List
Поле Label
Поле TextField
Поле TextArea
Аплет FormDemo

Назад Вперед

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

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

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

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

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

Класс Checkbox

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

Конструкторы

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

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 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 в этом примере передается название переключателя, через второй - ссылка на группу, а через третий - состояние, в которое должен быть установлен переключатель. Из всех переключателей группы только один может находиться во включенном состоянии.

Назад Вперед