Spec-Zone .ru
спецификации, руководства, описания, API
След: Создание GUI С JFC/Swing
Урок: Используя Компоненты Swing
Раздел: Как Использовать Различные Компоненты
Как Использовать Ползунки
Домашняя страница > Создание GUI С JFC/Swing > Используя Компоненты Swing

Как Использовать Ползунки

A JSlider компонент предназначается, чтобы позволить пользователю легко вводить числовое значение, ограниченное минимальным и максимальным значением. Если пространство ограничивается, прядильщик является возможной альтернативой ползунку.

Следующее изображение показывает приложение, которое использует ползунок, чтобы управлять скоростью анимации:

Снимок SliderDemo, который использует ползунок

Попробуйте это: 
  1. Нажмите кнопку Launch, чтобы работать, SliderDemo, используя Сеть Java™ Запускаются (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.Запускает приложение SliderDemo
  2. Используйте ползунок, чтобы скорректировать скорость анимации.
  3. Продвиньте ползунок к 0 останавливать анимацию.

Ниже код от 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, который использует ползунок с пользовательскими метками

Источник для этой программы может быть найден в SliderDemo2.java. Нажмите кнопку Launch, чтобы работать, SliderDemo2, используя Сеть Java™ Запускаются (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.

Запускает приложение SliderDemo2

Следующий код создает ползунок и настраивает его метки:

//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 метод, чтобы настроить это.

API Ползунка

Следующие таблицы приводят обычно используемый JSlider конструкторы и методы. См. Класс JComponent для таблиц обычно используемых наследованных методов.

API для того, чтобы использовать ползунки делится на эти категории:

Создание Ползунка
Конструктор Цель
JSlider () Создает горизонтальный ползунок с диапазоном от 0 до 100 и начальное значение 50.
JSlider (международная минута, максимальный интервал)
JSlider (международная минута, международное максимальное, международное значение)
Создает горизонтальный ползунок с указанными минимальными и максимальными значениями. Третье int параметр, когда существующий, определяет начальное значение ползунка.
JSlider (международная ориентация)
JSlider (международная ориентация, международная минута, международное максимальное, международное значение)
Создает ползунок с указанной ориентацией, которая должна быть также JSlider.HORIZONTAL или JSlider.VERTICAL. Последние три int параметры, когда существующий, определяют минимум ползунка, максимум, и начальные значения, соответственно.
JSlider (BoundedRangeModel) Создает горизонтальный ползунок с указанной моделью, которая управляет минимумом ползунка, максимумом, и текущей стоимостью и их отношениями.
Точная настройка Появление Ползунка
Метод Цель
освободите setValue (интервал)
интервал getValue ()
Наборы или получают текущую стоимость ползунка. Метод набора также располагает кнопку ползунка.
освободите setOrientation (интервал)
интервал getOrientation ()
Наборы или получают ориентацию ползунка. Возможные значения JSlider.HORIZONTAL или JSlider.VERTICAL.
освободите (булев) setInverted
булев getInverted ()
Наборы или добираются, показывают ли максимум слева от горизонтального ползунка или у основания вертикального, таким образом инвертируя диапазон ползунка.
освободите setMinimum (интервал)
интервал getMinimum ()
освободите setMaximum (интервал)
интервал getMaximum ()
Наборы или получают минимальные или максимальные значения ползунка. Вместе, эти методы набор или получают диапазон ползунка.
освободите setMajorTickSpacing (интервал)
интервал getMajorTickSpacing ()
освободите setMinorTickSpacing (интервал)
интервал getMinorTickSpacing ()
Наборы или получают диапазон между главными и незначительными галочками. Следует вызвать setPaintTicks(true) для меток, чтобы появиться.
освободите (булев) setPaintTicks
булев getPaintTicks ()
Наборы или добираются, красятся ли метки на ползунке.
освободите (булев) setPaintLabels
булев getPaintLabels ()
Наборы или добираются, красятся ли метки на ползунке. Можно предоставить пользовательским меткам setLabelTable или получите автоматические метки, устанавливая главный интервал галочки в ненулевое значение.
освободите setLabelTable (Словарь)
Словарь getLabelTable ()
Наборы или получают метки для ползунка. Следует вызвать setPaintLabels(true) для меток, чтобы появиться.
Хеш-таблица createStandardLabels (интервал)
Хеш-таблица createStandardLabels (интервал, интервал)
Создает стандартный набор числовых меток. Первое int параметр определяет инкремент, второе int параметр определяет начальную точку. Когда оставлено неуказанный, начальная точка устанавливается в минимальное число ползунка.
setFont (java.awt. Шрифт) Устанавливает шрифт для меток ползунка.
Наблюдение Ползунка Работать
Метод Цель
освободите addChangeListener (ChangeListener) Регистрирует слушателя изменения в ползунке.
булев getValueIsAdjusting () Определяет, полон ли пользовательский жест, чтобы переместить кнопку ползунка.
Работа Непосредственно с Моделью данных
Класс, Интерфейс, или Метод Цель
BoundedRangeModel Интерфейс требуется для модели данных ползунка.
DefaultBoundedRangeModel Реализация BoundedRangeModel интерфейс.
освободите setModel ()
getModel ()
JSlider)
Наборы или использовали модель данных ползунком. Можно также установить модель при использовании конструктора, который берет единственный параметр типа BoundedRangeModel.

Примеры то Использование Ползунки

Эта таблица показывает примеры то использование JSlider и где те примеры описываются.

Пример Где Описано Примечания
SliderDemo Этот раздел Показывает ползунок с метками в главных метках.
SliderDemo2 Этот раздел Показывает вертикальный ползунок с пользовательскими метками.
Converter Используя Модели, Как Использовать Панели Измерительное приложение преобразования, обладающее двумя ползунками, которые совместно используют данные и имеют пользовательский BoundedRangeModels.

Если Вы программируете в JavaFX, см. Ползунок.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Как Использовать Разделители
Следующая страница: Как Использовать Прядильщиков