ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 140

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


JCheckBox (String text, Icon image)

JCheckBox(String text, Icon image, boolean state)

В этих конструкторах используются следующие параметры: image — изображение для флажка, text – надпись. Если state имеет значение true, то флажок первоначально выбран.

Состояние флажка может быть изменено с помощью метода

void public void setSelected(boolean b),

а получить состояние флажка можно с помощью метода

public boolean isSelected().
Переключатели поддерживаются классом JRadioButton, который также является конкретной реализацией класса AbstractButton. Ниже приведены некоторые из его конструкторов:

JRadioButton(Icon image)

JRadioButton(Icon image, boolean state)

JRadioButton(String text)

JRadioButton(String text, boolean state)

JRadioButton(String text, Icon image)

JRadioButton(String text, Icon image, boolean state)

где параметры имеют тот же смысл, что и для класса JCheckBox.

Переключатели должны быть объединены в группу, где в каждый момент может быть выбран только один элемент. Например, если пользователь щелкает по переключателю, который находится в группе, любой предвари­тельно нажатый переключатель в этой группе автоматически сбрасывается. Чтобы создать группу кнопок, создается объект класса ButtonGroup. Для этой цели используется единственный конструктор класса

public ButtonGroup().

Элементы к группе переключателей добавляются с помощью метода

public void add(AbstractButton a),

а количество переключателей в группе можно получить с помощью метода

public int getButtonCount().

Родительским классом и для JCheckBox и для JRadioButton является класс JToggleButton, который не имеет эквивалента в AWT. Он ведет себя как объект класса Button, который после нажатия на него остается в нажатом состоянии.

Для обработки событий в объектах классов JCheckBox и JRadioButton можно использовать интерфейс
ItemListener и класс ItemEvent.

3.1.6. Списки

3.1.6.1. Класс JComboBox


Вместо класса Choice в AWT, в системе Swing обеспечивает комбинированное поле (combo box) – комбинация тек­стового поля и раскрывающегося списка (класс JComboBox). Комбинированное поле обычно отображает один вход (элемент) списка. Однако оно может также отображать и раскрываю­щийся список, который дает возможность пользователю выбирать различ­ные элементы. Вы также можете ввести с клавиатуры свое значение элемента списка в текстовое поле. Два самых распространенных конструктора:

JComboBox()

JComboBox(Object [] items)

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

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

void addItem(Object obj)

где obj – объект, который будет добавлен к комбинированному полю.

Остальные методы класс аналогичны соответствующим методам класса Choice, однако добавлены методы

public void setEditable(boolean aFlag)

и

public boolean isEditable(),

позволяющие установить возможность ввода значения в список и проверить флажок возможности ввода своего значения в список.

Для обработки событий, связанных с комбинированным списком, можно использовать либо блоки прослушивания ItemListener, либо блоки прослушивания ActionListener.

3.1.6.2. Класс JList


Аналогом класса List в Swing является класс JList. Два самых распространенных конструктора этого класса

JList()

JList(Object [] items)

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

не выполняется в JList автоматически, а выполняется с помощью помещения списка в объект класса JScrollPane.

Набор методов в классе JList существенно расширен по сравнению с классом List (так, например, есть возможность задавать цвет текста и фона для выделенных элементов) и, кроме того, вместо интерфейса

ItemListener для списков JList используется интерфейс ListSelectionListener, блок прослушивания которого добавляется и удаляется с помощью методов

public void addListSelectionListener(ListSelectionListener

listener)

и

public void removeListSelectionListener(

ListSelectionListener listener)

класса JList.

Метод

public void valueChanged(ListSelectionEvent e)

интерфейса обрабатывает события, связанные с выбором элементов списка, а метод

public Object[] getSelectedValues()

класса JList позволяет получить список выбранных объектов.

3.1.6.3. Класс JSpinner


Класс JSpinner определяет «вращающийся» список. Этот класс похож на класс JComboBox, но однострочный список можно прокручивать в двух направлениях: вверх и вниз с помощью двух кнопок справа от поля выбора.

Для класса JSpinner определены два конструктора:

JSpinner()

и

JSpinner(SpinnerModel model).

Второй конструктор создает объект для заданной модели «вращающего» списка. В пакете определены класса для наиболее употребительных моделей «вращающего» списка: SpinnerListModel (для списков), SpinnerNumberModel (для чисел) и SpinnerDateModel (для дат).

Установить или получить модель можно либо с помощью методов

void setModel(SpinnerModel model)

и

SpinnerModel getModel().

Изменить выводимое в поле значение можно с помощью метода

void setValue(Object value),

а получить текущее значение поля можно с помощью метода

Object getValue()

класса JSpinner.

Установить конкретную модель для списков можно с помощью следующих конструкторов:

SpinnerListModel();

SpinnerListModel(List values);

SpinnerListModel(Object[] values);

Первый конструктор создает модель для пустого списка, второй для списка объектов коллекции List, а третий для массива объектов класса Object.

Метод

void setValue(Object obj)

изменяет элемент в поле вывода и уведомляет блок прослушивания ChangeListener. Методы

Object getValue().

Object getNextValue
()

Object getPreviousValue()

позволяют получить соответственно текущее значение поля вывода, следующее значение поля вывода и предыдущее значение поля вывода. Если текущий элемент – последний, метод getNextValue() возвращает null, а если текущий элемент – первый, метод getPreviousValue() возвращает null.

Основными конструкторами модели чисел являются:

SpinnerNumberModel();

SpinnerNumberModel(int value, int minimum,

int maximum, int stepSize)

где value – выводимое в поле вывода значение, minimum – минимальное значение списка, maximum – максимальное значение списка, stepSize – шаг списка. Пустой конструктор устанавливает список с нулевым значением в поле вывода, без ограничений на максимальное и минимальное значение и с шагом, равным 1.

Значения указанных параметров также можно установить с помощью методов

void setValue(Object value)

void setMinimum(Comparable minimum)

void setMaximum(Comparable maximum)

void setStepSize(Number stepSize)

а получить их значения – с помощью методов

Object getValue()

Object getNextValue()

Object getPreviousValue()

Comparable getMinimum()

Comparable getMaximum()

Number getStepSize()

Для работы с датами определены следующие конструкторы:

SpinnerDateModel();

SpinnerDateModel(Date value, Comparable start,

Comparable end, int calendarField)

где value – выводимое значение даты, start и end – начальное и конечное значение даты, а допустимые значения для calendarField:

  • Calendar.ERA – эра (значение GregorianCalendar.BC – до нашей эры или GregorianCalendar.AD – наша эра);

  • Calendar.YEAR и Calendar.MONTH – значение года и месяца (от 0 до 11);

  • Calendar.WEEK_OF_YEAR и Calendar.WEEK_OF_MONTH – неделя года и неделя месяца;

  • Calendar.DAY_OF_MONTH и Calendar.DAY_OF_YEAR – день месяца и день года;

  • Calendar.DAY_OF_WEEK и Calendar.DAY_OF_WEEK_IN_MONTH – день недели (от 1 до 7) и день недели в месяце (1-7 дни месяца – 1 неделя, 8-14 – 2 неделя и т.д.);

  • Calendar.AM_PM – до полудня – значение Calendar.AM или после полудня – значение Calendar.PM;

  • Calendar.HOUR и Calendar.HOUR_OF_DAY, - час в формате от 0 до 12 или от 0 до 24;

  • Calendar.MINUTE, Calendar.SECOND и Calendar.MILLISECOND – минута, секунда и миллисекунда.


Значения указанных параметров также можно установить с помощью методов

void setValue(Object value)

void setStart(Comparable start)

void setEnd(Comparable end)

void setCalendarField(int calendarField)

а получить их значения – с помощью методов

Object getValue()

Object getNextValue()

Object getPreviousValue()

Comparable getStart()

Comparable getEnd()

Number getCalendarField ()

Метод

Date getDate()

возвращает текущий элемент в последовательности дат в виде объекта класса Date.

Для обработки событий в объектах класса JSpinner можно использовать интерфейс ChangeListener и класс ChangeEvent.

3.1.7. Текстовые компоненты

3.1.7.1. Класс JTextComponent


Родительским классом текстовых компонент в Swing является класс JTextComponent. Он обеспечивает функциональные возможности, кото­рые являются общими для всех текстовых компонент.

Возможности компонента JTextComponent библиотеки Swing намного превосходят требо­вания, предъявляемые к обычному текстовому полю или надписи. Данный компонент пре­доставляет разработчикам большой набор методов работы с текстом, например:

  • public void copy() – копировать в буфер обмена;

  • public void cut() – вырезать в буфер обмена;

  • public void paste() – вставить из буфера обмена;

  • public String getSelectedText() – получить выделенный текст;

  • public int getSelectionStart() – определить точку начала выделенного текста;

  • public int getSelectionEnd() – определить точку конца выделенного текста;

  • public String getText() – ввести текст из поля;

  • public void setText(String text) – поместить текст в поле;

  • public void setEditable(boolean b) – разрешить редактирование;

  • public void setCaretPosition(int position) – поместить курсор в указанную позицию.