| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to you under the Apache License, |
| Version 2.0 (the "License"); you may not use this file except in |
| compliance with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <document id="sliders"> |
| <properties> |
| <title>Sliders</title> |
| </properties> |
| |
| <body> |
| <p> |
| 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 <tt>Slider</tt> component. It |
| allows the user to select a value from 0 - 255 and displays the value in a |
| <tt>Label</tt> component: |
| </p> |
| |
| <application class="org.apache.pivot.wtk.ScriptApplication" |
| width="160" height="30"> |
| <libraries> |
| <library>core</library> |
| <library>wtk</library> |
| <library>wtk-terra</library> |
| <library>tutorials</library> |
| </libraries> |
| <startup-properties> |
| <src>/org/apache/pivot/tutorials/boundedrange/sliders.bxml</src> |
| </startup-properties> |
| </application> |
| |
| <p> |
| The BXML source for the example is as follows: |
| </p> |
| |
| <source type="xml" location="org/apache/pivot/tutorials/boundedrange/sliders.bxml"> |
| <![CDATA[ |
| <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> |
| ]]> |
| </source> |
| |
| <p> |
| The Java source loads the BXML and attaches a <tt>SliderValueListener</tt> to the |
| slider. When the slider value changes, the <tt>updateLabel()</tt> method is called to |
| set the current value: |
| </p> |
| |
| <source type="java" location="org/apache/pivot/tutorials/boundedrange/Sliders.java"> |
| <![CDATA[ |
| 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())); |
| } |
| } |
| ]]> |
| </source> |
| </body> |
| </document> |