Como criar um controle giratório em Java

UMA fiandeira é um campo de texto que você pode criar em Java que tem duas pequenas setas ao lado dele. O usuário pode clicar em um desses setas para aumentar ou diminuir o valor do campo de texto. Normalmente, o campo de texto contém um número, então clicar em um dos incrementos pequenas setas ou diminui o número. Você também pode criar um controle giratório que exibe os dados obtidos de uma matriz ou uma coleção.

image0.jpg

Para criar um controle giratório, você usa o JSpinner classe. Confira os construtores e métodos abaixo. Note-se que o segundo construtor aceita um objecto do tipo SpinnerModel como um parâmetro. Esta tabela também mostra construtores para duas classes que implementam a SpinnerModel interface.

ConstrutorDescrição
JSpinner ()Cria um controle giratório padrão. O spinner padrão permite que o userchoose um número inteiro que tem um valor inicial de 0 e nenhum mínimo ou valores máximos.
JSlider (modelo SpinnerModel)Cria um spinner usando o objeto SpinnerModel especificado.
MétodoDescrição
vazio addChangeListener (ChangeListenerlistener)adiciona um ChangeListener para ouvir eventos forchange.
int getValue ()Obtém o valor.
vazio setToolTipText (ext String)Define o texto dica de ferramenta que é exibido se o mouse do usuário reststhe sobre o controle deslizante por alguns momentos.
Construtores de Classes SpinnerModelDescrição
SpinnerNumberModel (init int, int min, intmax, passo int)Cria um modelo giratório número que permite que os valores de usuário selectinteger variando de min no máximo, com um incremento de passo. O valor inicial é definido para o init.
SpinnerNumberModel (duplo max, doublestep)Cria um modelo giratório número que permite que os doublevalues ​​Selecionar usuário que variam de min no máximo, com um incremento de passo. O valor inicial é definido para o init.
SpinnerListModel (Object [] valores)Cria um modelo giratório lista usando os valores da matriz de thespecified.
SpinerListModel (coleção List)Cria um modelo giratório lista usando os valores da coleção thespecified. A coleção deve implementar a interface List.

Você pode criar um spinner padrão que permite que os selecionados valores inteiros de usuários, como este:

JSpinner girador = new JSpinner () -

Este Spinner começa com um valor de 0 e aumenta ou diminui o valor pela 1 cada vez que o usuário clica em uma das setas do girador. Você pode recuperar o valor atual do girador, a qualquer momento, como este:

valor int = spinner.getValue () -

Para a maioria dos spinners, você quer usar o segundo construtor, que requer que você primeiro criar um objeto que implementa o SpinnerModel interface.

Há construtores para duas classes que implementam fiandeira. O primeiro, SpinnerNumberModel, cria controles giratórios numéricos que permitem controlar o valor inicial, os valores mínimos e máximos, e o valor do passo que é adicionado ou subtraído cada vez que o usuário clica em uma das setas.

Veja como você pode usar o SpinnerNumberModel para criar o primeiro botão rotativo que aceita números inteiros de 1 a 12, começando com 1:

horas JSpinner = new JSpinner (nova SpinnerNumberModel (1, 1, 12, 1)) -

Aqui está o código para o segundo botão rotativo, que permite que os números utilizador escolher a partir de 0 até 59:

JSpinner minutos = new JSpinner (nova SpinnerNumberModel (0, 0, 59, 1)) -

Ao utilizar o SpinnerListModel classe, você também pode construir um controle giratório que permite aos usuários selecionar valores de uma lista. O construtor para esta classe aceita um array ou um objeto que implementa o Lista interface. o ArrayList classe implementa essa interface, o que significa que você pode usar SpinnerListModel para criar um controle giratório que permite aos usuários selecionar itens de um ArrayList objeto.

Aqui está o código para o terceiro botão rotativo, que permite que o usuário especifique da manhã ou p.m .:

String [] ampmString = { "am", "pm"} - ampm = new JSpinner (nova SpinnerListModel (ampmString)) -

Neste exemplo, a SpinnerListModel usa uma matriz de strings com dois elementos: sou e PM.

menu