- Get Involved
-
- Project tools
-
-
- How do I...
-
|
bislider
Project home
Notice: the projects area will be down for network maintenance from 8 pm to 10 pm PDT, Saturday 7/28. We regret any inconvenience.
If you were registered and logged in, you could join this project.
| Summary |
A range slider implementation with color, precision and segment |
|
Categories
|
None
|
| License |
*Other*
|
| Owner(s) |
vernier |
Message from the owner(s)
We have the BiSlider v1.3.6 with many features already but not multiple segments. We also have to separate APIs for integration with other programs: Slider, Range(s), Colors, Precision, etc. instead of only two listeners mechanism. Contact the owner ( FredVernier) for questions, suggestions, help, ref on other related projects.
...slide !
|
The goal of the bislider project is to provide to the java developper community a rich java implementation
of a range slider. A range slider can replace 2 JSliders but also provide the opportunity to let the user
see the constraint between the minimum and the maximum values. In order to provide a more generic tool the
BiSlider project aims to explore other issues related to sliders (Segments for easier selection, Color
gradient for color mapping, precision enhancement with sub-sliders, etc)
|
BiSlider In Action
Screenshot: |
 |
Web site: |
|
Java applet: |
|
- This is a more complex example to illustrate as many options as possible
- Parameters are initialized with applet param tags but everything can be interactively modified
- Background transparency doesn't work for applet :-(
- Precision popup may not work properly for applet since BiSlider need to hack your mouse (with a Robot) and such hack is prohibited for applet.
|
How to use it:
- Such java bean is not intended to be used alone, should be coupled with a map/chart/visualization/table/etc.
- This bean can be imported in a graphical java Interface Builder like Netbeans
- Read the ReadMe.txt File for legal notice and javadoc for API
- The jar package contain multiple examples
|
List of features:
- Right click to bring a popup menu with user's options
- Double click the triangles to bring a popup slider to set values with precision since version 1.3.5
- It now works for integer or double values since version 1.3.3
- Developer can force the segments to be uniform (= int division)
- There are 3 different kinds of color interpolation: HSB, CENTRAL_BLACK and RGB
- If SegmentCount equals 1 or SegemntSize equals the full range this bean behaves like a range slider
- Since v1.3.5 corners can be rounded and foreground/background/font color can be changed
- Double click a non-colored segment to select it as a the segment
- Click and drag the maximum or the minimum triangle to change the according value
- Shift+double click to extend the selection with a new segment
- Shift click triangle or segment will align it on graduation
- While dragging a triangle left or right, turn 90° to open the precision popup without releasing the mouse button
- Alt+click+drag a triangle to select a range around the central value
- Drag&Drop; the minimum value (text in bold) of the legend to set the SegmentCount
- Shift Drag&Drop; the minimum value (text) to stay on the int values
- Double click the minimum or maximum value (text) to change the scope of the bean
- Font painting is now anti-aliased since v1.3.5
- The content (colored segments) can be customized (see histogram in the applet for instance)
- The content (colored segments) can be then also be animated (see example #2)
|
To Do list:
- Multiple ranges management
- Time based (non uniform & multi scales) segments (days, months, )
- Standardized popup menu
- CENTRAL_BLACK => generalized central color feature
- Multiple API levels for SegmentListener, ColorListener, PrecisionListener, etc.
|
Other projects on range sliders:
Software architecture:
|
- PAC architecture Model is very similar to MVC. It was invented by Joëlle Coutaz
- PAC architecture suggests to build GUI using *agents* with 3 facets (Presentation, Abstraction and Control)
- PAc agent are ususlly reprented by a Mickey head, each ear being a facet.
- Presentation Facet (View&Control in MVC) hold the interaction with the user
- Abstraction facet (Model in MVC) hold the logical state of the component
- Control Facet hold communication between the two other facets and with outside components
|
The examples shown when the jar of the bean is launch directly
Copyright 1997-2005 Frédéric Vernier. All Rights Reserved
|
Permission to use, copy, modify and distribute this software and its documentation for educational, research and
non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright
notice and the following three paragraphs appear in all copies.
To request Permission to incorporate this software into commercial products contact Frederic Vernier, 19 rue de la butte aux
cailles, Paris, F75013, France. Tel: (+33) 871 747 387.
IN NO EVENT SHALL FREDERIC VERNIER BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF FREDERIC
VERNIER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
FREDERIC VERNIER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HERE UNDER IS ON AN "AS IS" BASIS, AND
FREDERIC VERNIER HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
|