|
Spec-Zone .ru
спецификации, руководства, описания, API
|
A JSlider компонент предназначается, чтобы позволить пользователю легко вводить числовое значение, ограниченное минимальным и максимальным значением. Если пространство ограничивается, прядильщик является возможной альтернативой ползунку.
Следующее изображение показывает приложение, которое использует ползунок, чтобы управлять скоростью анимации:

Ниже код от
static final int FPS_MIN = 0;
static final int FPS_MAX = 30;
static final int FPS_INIT = 15; //initial frames per second
. . .
JSlider framesPerSecond = new JSlider(JSlider.HORIZONTAL,
FPS_MIN, FPS_MAX, FPS_INIT);
framesPerSecond.addChangeListener(this);
//Turn on labels at major tick marks.
framesPerSecond.setMajorTickSpacing(10);
framesPerSecond.setMinorTickSpacing(1);
framesPerSecond.setPaintTicks(true);
framesPerSecond.setPaintLabels(true);
По умолчанию интервал для главных и незначительных меток является нулем. Чтобы видеть метки, следует явно установить интервал или для главных или для незначительных меток (или оба) к ненулевому значению и вызвать setPaintTicks(true) метод. Однако, Вы также нуждаетесь в метках для своих меток. Чтобы вывести на экран стандартные, числовые метки в главных расположениях метки, установите главный интервал галочки, затем вызовите setPaintLabels(true) метод. Пример программы обеспечивает метки для своего ползунка таким образом. Но Вы не ограничиваетесь к использованию только этих меток. Настройка Меток на Ползунке показывает Вам, как настроить метки ползунка. Кроме того, новая функция ползунка, доступная в JDK 6, позволяет Вам устанавливать шрифт для JSlider компонент.
Font font = new Font("Serif", Font.ITALIC, 15);
framesPerSecond.setFont(font);
Когда Вы перемещаете кнопку ползунка, stateChanged метод ползунка ChangeListener вызывается. Для получения информации о слушателях изменения обратитесь к тому, Как Записать Слушателю Изменения. Вот код слушателя изменения, который реагирует на изменения значения ползунка:
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider)e.getSource();
if (!source.getValueIsAdjusting()) {
int fps = (int)source.getValue();
if (fps == 0) {
if (!frozen) stopAnimation();
} else {
delay = 1000 / fps;
timer.setDelay(delay);
timer.setInitialDelay(delay * 10);
if (frozen) startAnimation();
}
}
}
Заметьте что stateChanged метод изменяет скорость анимации только если getValueIsAdjusting возвраты метода false. Много событий изменения запускаются, поскольку пользователь перемещает кнопку ползунка. Эта программа интересуется только окончательным результатом действия пользователя.
Демонстрационный пример ниже является измененной версией SliderDemo, который использует ползунок с пользовательскими метками:

Источник для этой программы может быть найден в SliderDemo2.java. Нажмите кнопку Launch, чтобы работать, SliderDemo2, используя Сеть Java™ Запускаются (). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.
Следующий код создает ползунок и настраивает его метки:
//Create the slider
JSlider framesPerSecond = new JSlider(JSlider.VERTICAL,
FPS_MIN, FPS_MAX, FPS_INIT);
framesPerSecond.addChangeListener(this);
framesPerSecond.setMajorTickSpacing(10);
framesPerSecond.setPaintTicks(true);
//Create the label table
Hashtable labelTable = new Hashtable();
labelTable.put( new Integer( 0 ), new JLabel("Stop") );
labelTable.put( new Integer( FPS_MAX/10 ), new JLabel("Slow") );
labelTable.put( new Integer( FPS_MAX ), new JLabel("Fast") );
framesPerSecond.setLabelTable( labelTable );
framesPerSecond.setPaintLabels(true);
Каждая пара ключ/значение в хеш-таблице, определенной с setLabelTable метод дает позицию и значение одной метки. Ключ хеш-таблицы должен иметь Integer введите и должен иметь значение в пределах диапазона ползунка, в который можно поместить метку. Значение хеш-таблицы, связанное с каждым ключом, должно быть a Component объект. Этот демонстрационный пример использование JLabel экземпляры с текстом только. Интересная модификация должна была бы использовать JLabel экземпляры со значками или кнопками, которые перемещают кнопку в позицию метки.
Используйте createStandardLabels метод JSlider class, чтобы создать ряд числовых меток, расположенных в определенный интервал. Можно также изменить таблицу, возвращенную createStandardLabels метод, чтобы настроить это.
Следующие таблицы приводят обычно используемый JSlider конструкторы и методы. См. Класс JComponent для таблиц обычно используемых наследованных методов.
API для того, чтобы использовать ползунки делится на эти категории:
| Конструктор | Цель |
|---|---|
| Создает горизонтальный ползунок с диапазоном от 0 до 100 и начальное значение 50. | |
|
|
Создает горизонтальный ползунок с указанными минимальными и максимальными значениями. Третье int параметр, когда существующий, определяет начальное значение ползунка. |
|
|
Создает ползунок с указанной ориентацией, которая должна быть также JSlider.HORIZONTAL или JSlider.VERTICAL. Последние три int параметры, когда существующий, определяют минимум ползунка, максимум, и начальные значения, соответственно. |
| Создает горизонтальный ползунок с указанной моделью, которая управляет минимумом ползунка, максимумом, и текущей стоимостью и их отношениями. |
| Метод | Цель |
|---|---|
|
|
Наборы или получают текущую стоимость ползунка. Метод набора также располагает кнопку ползунка. |
|
|
Наборы или получают ориентацию ползунка. Возможные значения JSlider.HORIZONTAL или JSlider.VERTICAL. |
|
|
Наборы или добираются, показывают ли максимум слева от горизонтального ползунка или у основания вертикального, таким образом инвертируя диапазон ползунка. |
|
|
Наборы или получают минимальные или максимальные значения ползунка. Вместе, эти методы набор или получают диапазон ползунка. |
|
|
Наборы или получают диапазон между главными и незначительными галочками. Следует вызвать setPaintTicks(true) для меток, чтобы появиться. |
|
|
Наборы или добираются, красятся ли метки на ползунке. |
|
|
Наборы или добираются, красятся ли метки на ползунке. Можно предоставить пользовательским меткам setLabelTable или получите автоматические метки, устанавливая главный интервал галочки в ненулевое значение. |
|
|
Наборы или получают метки для ползунка. Следует вызвать setPaintLabels(true) для меток, чтобы появиться. |
|
|
Создает стандартный набор числовых меток. Первое int параметр определяет инкремент, второе int параметр определяет начальную точку. Когда оставлено неуказанный, начальная точка устанавливается в минимальное число ползунка. |
| Устанавливает шрифт для меток ползунка. |
| Метод | Цель |
|---|---|
| Регистрирует слушателя изменения в ползунке. | |
| Определяет, полон ли пользовательский жест, чтобы переместить кнопку ползунка. |
| Класс, Интерфейс, или Метод | Цель |
|---|---|
| Интерфейс требуется для модели данных ползунка. | |
Реализация BoundedRangeModel интерфейс. |
|
|
(в JSlider) |
Наборы или использовали модель данных ползунком. Можно также установить модель при использовании конструктора, который берет единственный параметр типа BoundedRangeModel. |
Эта таблица показывает примеры то использование JSlider и где те примеры описываются.
| Пример | Где Описано | Примечания |
|---|---|---|
SliderDemo |
Этот раздел | Показывает ползунок с метками в главных метках. |
SliderDemo2 |
Этот раздел | Показывает вертикальный ползунок с пользовательскими метками. |
Converter |
Используя Модели, Как Использовать Панели | Измерительное приложение преобразования, обладающее двумя ползунками, которые совместно используют данные и имеют пользовательский BoundedRangeModels. |
Если Вы программируете в JavaFX, см. .