Spec-Zone .ru
спецификации, руководства, описания, API
|
A JSlider
компонент предназначается, чтобы позволить пользователю легко вводить числовое значение, ограниченное минимальным и максимальным значением. Если пространство ограничивается, прядильщик является возможной альтернативой ползунку.
Следующее изображение показывает приложение, которое использует ползунок, чтобы управлять скоростью анимации:
Ниже код от SliderDemo.java
файл, который создает ползунок в предыдущем примере.
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 |
Используя Модели, Как Использовать Панели | Измерительное приложение преобразования, обладающее двумя ползунками, которые совместно используют данные и имеют пользовательский BoundedRangeModel s. |
Если Вы программируете в JavaFX, см.