Sto facendo una GUI (usando swing) per una struttura di poker e ho bisogno di una sorta di dispositivo di scorrimento per consentire ai giocatori di selezionare una dimensione di scommessa. Tuttavia, lo Swing JSlider
funziona solo con valori int mentre io ho bisogno di qualcosa che supporti i doppi per 1 punto decimale. Ci sono biblioteche che posso usare o trucchi con lo JSlider
?JSlider per i doppi
risposta
È possibile moltiplicare il valore del 10
EDIT
È possibile modificare le etichette visualizzate come segue:
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);
Uno trucco è possibile utilizzare con JSlider è quello di utilizzare le unità in centesimi. Quindi, se si desidera che l'utente selezioni un importo compreso tra 1 e 10 dollari, si imposta effettivamente il JSlider nell'intervallo da 100 a 1000. Quindi è sufficiente convertire il valore in dollari e centesimi quando l'utente seleziona un valore.
È quindi possibile utilizzare un dizionario di valori per specificare quale etichetta viene visualizzata con qualsiasi valore sul dispositivo di scorrimento. Utilizzare il metodo setLabelTable()
per questo.
E per quanto riguarda la situazione in cui il numero minimo deve essere un doppio, diciamo 5.5, farei in modo che la JLabel legga 5.5 e mappi il numero intero 5 a questa JLabel. Ma quando chiamo JSlider.getValue() otterrò 5 e non 5.5. Qualche idea su come affrontare questo? – Aly
Il valore minimo in questo caso è 550. Si mappa questo a 5.50 per la visualizzazione. Quando ottieni il valore selezionato dall'utente, dividi semplicemente 100 per ottenere 5.5. –
- 1. comportamento di arrotondamento printf per i doppi
- 2. JSlider question: Position after leftclick
- 3. Come scartare i doppi optionals?
- 4. Come rimuovere il testo sopra JSlider
- 5. Come evitare i doppi clic con ember.js?
- 6. CSS ul li: Evitare i doppi bordi
- 7. Perché atomicAdd non è stato implementato per i doppi?
- 8. Accettare i doppi negativi con boost :: program_options
- 9. legenda matplotlib che mostra i doppi fotoricettori
- 10. CUDA atomicAdd per errore di definizione doppi
- 11. Confronto di doppi
- 12. Raddoppia i miei soldi: il mio framework usa i doppi per gli importi monetari
- 13. Dovremmo generalmente usare i letterali float per i float invece dei doppi letterali più semplici?
- 14. Doppi problemi esponenziali?
- 15. doppi apici su Pharo
- 16. Come posso appiattire i doppi array in mongoDB?
- 17. iphone/Objective C - Confrontando i doppi che non funzionano
- 18. I multipli di 0,25 sono esattamente rappresentabili come doppi?
- 19. Modulo con doppi in Java
- 20. XORing due doppi in Java
- 21. doppi punti in un ggplot
- 22. L'output ADOdb ha valori doppi
- 23. Matrice di doppi in scala
- 24. Doppi elenchi collegati in C++
- 25. Haskell - singolo v doppi apici
- 26. Come si ottiene VB6 per inizializzare i doppi con + infinito, -infinity e NaN?
- 27. Perché java.awt.Point fornisce metodi per impostare e ottenere i doppi, ma memorizza xey come int?
- 28. Java: utilizzare DecimalFormat per formattare i doppi e gli interi ma mantenere interi senza separatore decimale
- 29. WinForms disabilita i doppi clic e accetta tutti i clic del mouse?
- 30. Perissa mantissa differisce dagli altri doppi
correlati http://stackoverflow.com/questions/1548606/java-link-jslider-and-jtextfield-for-float-value –