Sliders allow a user to interactively select one of a range of values by dragging the mouse. The following example demonstrates the use of the Slider component. It allows the user to select a value from 0 - 255 and displays the value in a Label component:
The BXML source for the example is as follows:
<boundedrange:Sliders title="Sliders" maximized="true" xmlns:bxml="http://pivot.apache.org/bxml" xmlns:boundedrange="org.apache.pivot.tutorials.boundedrange" xmlns="org.apache.pivot.wtk"> <BoxPane styles="{verticalAlignment:'center'}"> <Slider bxml:id="slider" range="{start:0, end:255}" value="0"/> <Label bxml:id="label"/> </BoxPane> </boundedrange:Sliders>
The Java source loads the BXML and attaches a SliderValueListener to the slider. When the slider value changes, the updateLabel() method is called to set the current value:
package org.apache.pivot.tutorials.boundedrange; import java.net.URL; import org.apache.pivot.beans.Bindable; import org.apache.pivot.collections.Map; import org.apache.pivot.util.Resources; import org.apache.pivot.wtk.Label; import org.apache.pivot.wtk.Slider; import org.apache.pivot.wtk.SliderValueListener; import org.apache.pivot.wtk.Window; public class Sliders extends Window implements Bindable { private Slider slider = null; private Label label = null; @Override public void initialize(Map<String, Object> namespace, URL location, Resources resources) { slider = (Slider)namespace.get("slider"); label = (Label)namespace.get("label"); slider.getSliderValueListeners().add(new SliderValueListener() { @Override public void valueChanged(Slider slider, int previousValue) { updateLabel(); } }); updateLabel(); } private void updateLabel() { label.setText(Integer.toString(slider.getValue())); } }
Next: Scroll Bars