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

