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