ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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) – поместить курсор в указанную позицию.