JSlider en dobles
-
24-09-2019 - |
Pregunta
Estoy haciendo una (swing utilizando) GUI para un marco de póquer y la necesidad de algún tipo de control deslizante para permitir a los jugadores para seleccionar un tamaño de la apuesta. Sin embargo, la oscilación JSlider
sólo funciona con valores int mientras que necesito algo que puede soportar dobles por 1 punto decimal. ¿Hay bibliotecas que puedo usar, o trucos con la JSlider
?
Solución
Se puede multiplicar el valor en 10
editar
Puede cambiar las etiquetas que aparecen de la siguiente manera:
Hashtable labelTable = new Hashtable();
labelTable.put( new Integer( 0 ), new JLabel("0.0") );
labelTable.put( new Integer( 5 ), new JLabel("0.5") );
labelTable.put( new Integer( 10 ), new JLabel("1.0") );
framesPerSecond.setLabelTable( labelTable );
Otros consejos
Una truco puede utilizar con JSlider es utilizar las unidades en céntimos. Así que si quieres que el usuario seleccione una cantidad entre 1 y 10 dólares que realmente establecer el JSlider a la gama de 100 a 1000. Entonces sólo tiene que convertir el valor en dólares y centavos, cuando el usuario selecciona un valor.
A continuación, se puede utilizar un diccionario de valores para especificar lo que se visualiza en cualquier etiqueta de valor en el control deslizante. Utilice el método setLabelTable()
para esto.