Иллюстрированный самоучитель по Java
Как
создать группу радиокнопок
Чтобы организовать группу радиокнопок,
надо сначала сформировать объект класса 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 11 = new
Label("Выберите товар:", Labe1.CENTER);
l1.setBoundsdO,
50, 120, 30); add(11);
Label 12 = new
Label("Выберите способ оплаты:");
l2.setBounds(160,
50, 200, 30); add(12);
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("Продолжить");
bl.setBounds(
30, 220, 100, 30); add(bl));
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);
setVisible(true);
}
public static
void main(String[] args)(
Frame f = new
SimpleComp (" Простые компоненты");
f.addWindowListener(new
WindowAdapter(){
public void windowClosing(WindowEvent
ev){
System.exit(0);
}
});
}
}
Рис. 10.1.
Простые компоненты
Заметьте, что каждый создаваемый
компонент следует заносить в контейнер, в данном случае Frame, методом add().
Левый верхний угол компонента помещается в точку контейнера с координатами,
указанными первыми двумя аргументами метода setBounds(). Размер компонента задается
последними двумя параметрами этого метода.
Если нет необходимости отображать
весь список на экране, то вместо группы радиокнопок можно создать раскрывающийся
список — объект класса Choice.