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