Como usar Sliders em Java
Java permite que você use controles deslizantes em sua programação. UMA deslizante é um componente que permite que um usuário escolhe um valor de um intervalo definido (por exemplo, de 0 a 50), movendo um botão. Um controle deslizante é uma maneira conveniente para obter a entrada numérica do usuário quando a entrada cai dentro de um intervalo definido de valores.
Para criar um controle deslizante, você usa o JSlider classe. Confira os seus construtores e métodos.
Construtor | Descrição |
---|---|
JSlider () | Cria um novo slider. Os valores mínimo e máximo padrão para0 e 100, eo valor inicial é definido como 50. |
JSlider (int min, int max) | Cria um novo controle deslizante com o mínimo e maximumvalues especificado. O valor inicial é meio caminho entre a andmaximum mínimo. |
JSlider (int min, int max, intvalue) | Cria um novo controle deslizante com o mínimo, máximo, valores andinitial especificados. |
JSlider (orientação int, int min, int max, int valor) | Cria um novo controle deslizante com o mínimo, máximo, valores andinitial especificados. A orientação pode ser JSlider.HORIZONTAL ou JSlider.VERTICAL. |
Método | Descrição |
vazio addChangeListener (ChangeListenerlistener) | adiciona um ChangeListener para ouvir eventos forchange. |
int getValue () | Obtém o valor indicado pela posição atual do theknob. |
anular setFont () | Define a fonte do texto associado com o controle deslizante. |
vazio setInvert (valor booleano) | E se verdade, inverte o slider'sdirection de modo a que o valor máximo está à esquerda e o MinimumValue está à direita. |
setMajorTickSpacing void (intvalue) | Define o intervalo para as principais marcas de escala. As marcas, a menos que aren'tshown setPaintTicks (true) é chamado. |
vazio setMinimum (valor int) | Define o valor mínimo. |
vazio setMaximum (valor int) | Define o valor máximo. |
setMinorTickSpacing void (intvalue) | Define o intervalo para as marcas menores. As marcas, a menos que aren'tshown setPaintTicks (true) é chamado. |
setOrientation (int orientação) | Define a orientação. Os valores permitidos são JSlider.HORIZONTAL e JSlider.VERTICAL. |
setPaintLabels void (booleanValue) | E se verdade, mostra rótulos de escala. |
setSnapToTicks void (booleanValue) | E se verdade, arredonda o valor retornado bythe getValue método para a marca indicadora mais próxima. |
setToolTipText vazio | Define o texto dica de ferramenta que é exibido se o usuário (String text) repousa o ponteiro do mouse sobre theslider por alguns momentos. |
Para criar um controle deslizante nu-ossos, basta ligar para o JSlider construtor. Você pode criar um controle deslizante que varia de 0 para 100 como isso:
deslizante = new JSlider () -
aqui o deslizante variável é declarada como uma variável de classe do tipo JSlider.
Se você deseja especificar o valor mínimo e máximo, usar esse construtor:
deslizante = new JSlider (0, 50) -
O controle deslizante permite que o usuário escolha um valor 0 para 50. A posição inicial do botão está 25, a meio caminho entre os valores mínimo e máximo.
Para definir um valor inicial diferente, usar esse construtor:
deslizante = novo JSlider (0, 0, 50) -
Aqui, as barra alcança de 0 para 50, e o valor inicial é 0.
Você normalmente deseja adicionar pelo menos alguns adornos para o controle deslizante para torná-lo mais utilizável. O controle deslizante que você vê tem valores mínimos e máximos tick-marca com etiquetas visíveis. Aqui está o código usado para criá-lo:
deslizante = new JSlider (0, 50, 0)-slider.setMajorTickSpacing(10)-slider.setMinorTickSpacing(1)-slider.setPaintTicks(true)-slider.setPaintLabels(true)-panel1.add(slider)-
Nota: Mesmo que defina os maiores e menores valores tick-espaçamento, as marcas de escala não aparecerá na tela a menos que você chamar setPaintTicks com o conjunto de parâmetro para verdade. o setPaintLabels metodologia mostra as etiquetas junto com as marcas de escala, eo setSnapToTicks método arredonda o valor para a marca de escala mais próxima.
Para obter o valor do controle deslizante, você usa o getValue método. Aqui está um método chamado a partir do ouvinte de ação anexado ao botão OK:
public void buttonOKClick () {int level = slider.getValue () - JOptionPane.showMessageDialog (slider, ". Lembre-se, este é para a posteridade n" + "? Diga-me ... como você se sente", "Nível" + nível, JOptionPane.INFORMATION_MESSAGE) -}
Aqui uma caixa de mensagem é exibida quando o usuário clica no botão OK. A configuração atual do deslizante componente é recuperada e armazenada em um int variável chamada nível, que é então utilizado para criar o título para a caixa de mensagens.
Você também pode adicionar um ouvinte de evento que reage sempre que o usuário altera o valor do controle deslizante. Para fazer isso, você usa o addChangeListener método. O parâmetro deve ser um objeto que implementa a ChangeListener interface, que define um único método chamado stateChanged.
Porque o ChangeListener interface tem apenas um método, que se qualifica como uma interface funcional e pode ser utilizado em uma expressão lambda. Na maioria dos casos, a maneira mais fácil de implementar um ouvinte de alteração é criar um método que contém o código que você quer executada quando as alterações de controle deslizante, em seguida, passá-lo através de uma expressão Lambda para o controle deslizante de addChangeListener método.
Aqui está um exemplo de um método que você pode chamar quando o estado de um controle deslizante é alterado:
public void sliderChanged () {if (slider.getValue () == 50) {JOptionPane.showMessageDialog (slider, "Não Não 50!", "A Máquina", JOptionPane.WARNING_MESSAGE) -}}
Para chamar esse método em resposta a uma alteração no estado do controle deslizante, chame o controle deslizante de addChangeListener um método com uma expressão Lambda:
slider.addChangeListener (e -> sliderChanged ()) -
Então o stateChanged método é chamado sempre que o usuário move o botão para outra posição. Ele verifica o valor do controle deslizante e exibe uma caixa de mensagem se o usuário tem avançado o controle deslizante todo o caminho para 50.