Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Компонент Checkbox




Компонент checkbox – это надпись справа от небольшого квадратика, в котором в некоторых графических системах появляется галочка после щелчка кнопкой мыши – компонент переходит в состояние (state) on. После следующего щелчка галочка пропадает – это состояние off. В других графических системах состояние on отмечается "вдавливанием" квадратика. В компоненте checkbox состояния on/off отмечаются логическими значениями true/false соответственно.

Три конструктора

Checkbox(),

Checkbox(String label),

Checkbox(String label, boolean state)

создают компонент без надписи, с надписью label в состоянии off, и в заданном состоянии state.

Методы доступа

getLabel(),

setLabel (String label),

getState(),

setState(boolean state)

возвращают и изменяют эти параметры компонента.

Компоненты checkbox удобны для быстрого и наглядного выбора из списка, целиком расположенного на экране, как показано на рис. 10.1. Там же продемонстрирована ситуация, в которой нужно выбрать только один пункт из нескольких. В таких ситуациях образуется группа так называемых радиокнопок (radio buttons). Они помечаются обычно кружком или ромбиком, а не квадратиком, выбор обозначается жирной точкой в кружке или "вдавливанием" ромбика.

В классе Checkbox происходят события класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, апри изменении состояния кнопки возникает событие ItemEvent.

В библиотеке AWT радиокнопки не образуют отдельный компонент. Вместо этого несколько компонентов checkbox объединяются в группу с помощью объекта класса checkboxGroup.

Класс CheckboxGroup

Класс CheckboxGroup задает общее имя всем объектам checkbox, образующим одну группу. В него входит один конструктор по умолчанию

CheckboxGroup ()

и два метода доступа:

  • getSelectedCheckbox(),

возвращающий выбранный объект Checkbox;

  • setSelectedCheckbox (Checkbox box), задающий выбор.

Чтобы организовать группу радиокнопок, надо сначала сформировать объект класса CheckboxGroup, а затем создавать кнопки конструкторами

Checkbox(String label, CheckboxGroup group, boolean state)

Checkbox(String label, boolean state, CheckboxGroup group)

Эти конструкторы идентичны, просто при записи конструктора можно не думать о порядке следования его аргументов.

Только одна радиокнопка в группе может иметь состояние state = true.

Пример. В листинге 10.1 приведена программа, помещающая в контейнер Frame две метки Label сверху, под ними слева три объекта checkbox, справа – группу радиокнопок. Внизу – три кнопки Button. Результат выполнения программы показан на рис. 10.1.

Листинг 10.1. Размещение компонентов

import java.awt.*;

import j ava.awt.event.*;

class SimpleComp extends Frame{

SimpleComp(String s)

{ super(s);

setLayout(null);

Font f = new Font("Serif", Font. BOLD, 15);

setFont(f);

Label l1 = new Label("Выберите товар:", Label. CENTER);

l1.setBounds(25, 50, 130,25);add(l1);

Label l2 = new Label("Выберите способ оплаты:");

l2.setBounds(160, 50, 200, 30); add(l2);

Checkbox chl = new Checkbox("Книги");

chl.setBounds(20, 90, 100, 30); add(chl);

Checkbox ch2 = new Checkbox("Диски");

ch2.setBounds(20, 120, 100, 30); add(ch2);

Checkbox ch3 = new Checkbox("Игрушки");

ch3.setBounds(20, 150, 100, 30); add(ch3);

CheckboxGroup grp = new CheckboxGroup();

Checkbox chgl= new Checkbox("Переводом",grp, true);

chgl.setBounds(170, 90, 200, 30); add(chgl);

Checkbox chg2 = new Checkbox("Картой", grp, false);

chg2.setBounds(170, 120, 200, 30); add(chg2);

Button b1 = new Button("Продолжить");

b1.setBounds(30, 220, 100, 30); add(b1);

Button b2 = new Button("Отменить");

b2.setBounds(140, 220, 100, 30); add(b2);

Button b3 = new Button("Выйти");

b3.setBounds(250, 220, 100, 30); add(b3);

setSize(400, 300);

}

 

public static void main(String[] args)

{

Frame f = new SimpleComp (" Простые компоненты");

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent ev)

{

System.exit(0);

}

});

}

}

 

Рисунок 1.1. Использование кнопок в приложении

Каждый создаваемый компонент следует заносить в контейнер, в данном случае Frame, методом add(). Левый верхний угол компонента помещается в точку контейнера с координатами, указанными первыми двумя аргументами метода setBounds(). Размер компонента задается последними двумя параметрами этого метода.




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 601; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.