Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Элементы управления Label, Button, Checkbox, Choice, List, Scrollbar

Поиск

Элемент управления – это компоненты, которые предоставляют пользователю различные способы взаимодействия с приложением (например кнопки, флажки, полосы прокрутки и т.п.)

Элементы управления представлены следующими классами:

Label – с помощью класса Label можно создавать текстовые строки в окне Java -программ. По умолчанию текст будет выровнен влево, но используя методы

 

setAligment (Label.CENTER);

setAligment (Label.RIGHT);

 

строку можно выровнять по центру и по правому краю. Можно создавать выводимый текст либо при создании объекта класса Label, либо создать пустой объект и уже затем определить его текст вызовом метода setText().

Для этого класса существуют три конструктора:

 

Label first = new Label ();

Label second = new Label (“some text”);

Label third = new Label (“some text”, Label.CENTER);

Button – представляет на экране кнопку. Имеет два конструктора:

 

Button first = new Button ();

Button second = new Button (“some text”);

 

Сделать кнопку неактивной можно методом void disable().

Следующий пример демонстрирует обработку кнопки.

 

Пример 3.2

Листинг ButtonDemo.java

import java.awt.*;

import java.awt.event.*;

public class ButtonDemo extends Frame

implements ActionListener,WindowListener{

Button btn;

Label lb;

int count;

public ButtonDemo(){

super("Фреймовое окно с кнопкой");

setLayout(new FlowLayout(FlowLayout.LEFT));

btn=new Button("Нажмите кнопку");

setSize(300,200);

btn.addActionListener(this);

lb=new Label("Здесь текстовое поле");

count=0;

add(btn);

add(lb);

setVisible(true);

addWindowListener(this);

}

public void actionPerformed(ActionEvent ae) {

count++;

lb.setText("Кнопка нажата "+count+" раз");

}

public void windowClosing(WindowEvent we){

this.dispose();

}

public void windowActivated(WindowEvent we){};

public void windowClosed(WindowEvent we){};

public void windowDeactivated(WindowEvent we){};

public void windowDeiconified(WindowEvent we){};

public void windowIconified(WindowEvent we){};

public void windowOpened(WindowEvent we){};

 

public static void main(String args[])

{ButtonDemo bd=new ButtonDemo();

}

}

 

Checkbox – отвечает за создание и отображение кнопок с независимой фиксацией. Эти кнопки имеют два состояния: включено и выключено. Щелчок по такой кнопке приводит к тому, что ее состояние меняется на противоположное. Если разместить несколько кнопок с независимой фиксаций внутри элемента класса CheckboxGroup, то вместо них мы получаем кнопки с зависимой фиксацией. Для такой группы кнопок характерно то, что в один и тот же момент может быть включена только одна кнопка. Если нажать какую-либо кнопку из группы, то ранее нажатая кнопка будет отпущена.

Choice – создает раскрывающийся список.

Пример реализации списка из трех пунктов.

 

Пример 3.3

Choice choice = new Choice ();

choice.addItem (“First”);

choice.addItem (“Second”);

choice.addItem (“Third”);

 

Методы класса Choice:

int countItems() – считать количество пунктов в списке;

String getItem(int) – возвратить строку с определенным номером в списке;

void select(int) – выбрать строку с определенным номером.

List – по назначению похож на Choice, но предоставляет пользователю не раскрывающийся список, а окно с полосами прокрутки. Такое окно содержит пункты выбора.

Создать объект класса List можно двумя способами:

1. Создать пустой список и добавить в него пункты методом addItem(). При этом размер списка будет расти при добавлении пунктов.

 

Пример 3.4

List list1 = new List ();

list1.addItem (“1”);

list1.addItem (“2”);

list1.addItem (“3”);

 

2. Создать пустой список, добавить пункты при помощи addItem (), при этом можно ограничить количество видимых в окне списка пунктов. Ниже показан пример, демонстрирующий список, в котором видно 2 элемента.

 

Пример 3.5

List list2 = new List (2, true);

list2.addItem (“1”);

list2.addItem (“2”);

list2.addItem (“3”);

Некоторые полезные методы класса List:

String getItem(int) – получить текст пункта с номером int;

int countItems() – посчитать количество пунктов в списке;

void clear() – очистить список;

void delItem(int) – удалить из списка пункт с номером int;

void delItems(int, int) – удалить из списка элементы с int по int;

int getSelectedIndex() – получить порядковый номер выделенного элемента списка;

void select(int) – выделить элемент списка с определенным номером.

 

Следующий пример демонстрирует обработку списка, раскрывающегося списка и кнопки с независимой фиксацией.

 

Пример 3.6

Листинг ListDemo.java

import java.awt.*;

import java.awt.event.*;

public class ListDemo extends Frame implements ItemListener{

List lst;Checkbox chb;Choice ch;

public ListDemo(){

super("Фреймовое окно");

setLayout(new FlowLayout(FlowLayout.CENTER));

setSize(300,200);

lst = new List (2, false);

lst.addItem ("1 BSUIR");

lst.addItem ("2 BSEU");

lst.addItem ("3 BSU");

chb=new Checkbox("Кнопка с независимой фиксацией");

ch=new Choice();

ch.add("Сюда переносятся строки со списка");

add(lst);

add(ch);

add(chb);

setVisible(true);

lst.addItemListener(this);

}

public void itemStateChanged(ItemEvent ie){

ch.addItem(lst.getSelectedItem());

}

public static void main(String args[]){

ListDemo list=new ListDemo();

}

}

 

Scrollbar – определяет полосу прокрутки. Создать полосу прокрутки можно следующим образом:

new Scrollbar ();

new Scrollbar (Scrollbar.VERTICAL);

new Scrollbar (<ориентация>, <текущее значение>, <видно>, <минимальное значение>, <максимальное значение>);

<ориентация> – ориентация полосы, которая задается константами Scrollbar.HORIZONTAL, Scrollbar.VERTICAL.

<текущее значение> – начальное значение, в которое помещается бегунок полосы прокрутки.

<видно> – сколько пикселов прокручиваемой области видно и на сколько пикселов эта область будет прокручена при щелчке мышью на полосе прокрутки.

<минимальное значение> – минимальное значение полосы прокрутки.

<максимальное значение> – максимальное значение полосы прокрутки.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-09; просмотров: 168; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.145.168 (0.006 с.)