Pergunta

Estou fazendo uma GUI (usando o swing) para uma estrutura de pôquer e preciso de algum tipo de controle deslizante para permitir que os jogadores selecionem um tamanho de aposta. No entanto, o balanço JSlider Funciona apenas com valores int, enquanto eu preciso de algo que possa suportar duplas para 1 ponto decimal. Existem bibliotecas que eu posso usar ou truques com o JSlider?

Foi útil?

Solução

Você pode multiplicar o valor por 10

EDITAR

Você pode alterar os rótulos exibidos da seguinte forma:

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 );

Outras dicas

Um truque Você pode usar com o JSLider é usar as unidades em centavos. Portanto, se você deseja que o usuário selecione um valor entre 1 e 10 dólares, você realmente define o JSLider para o intervalo de 100 a 1000. Em seguida, basta converter o valor em dólares e centavos quando o usuário selecionar um valor.

Você pode usar um dicionário de valores para especificar qual rótulo é exibido em qualquer valor no controle deslizante. Use o setLabelTable() método para isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top