No reino da programação Java Swing, criar interfaces interativas e amigáveis é uma prioridade. Um dos componentes úteis à nossa disposição é oJspinner. Como fornecedor de giro, estou animado para guiá -lo através do processo de criação de um spinner usandoJspinnerno balanço.


Compreendendo o básico do JSPinner
OJspinnerA classe no Java Swing é um campo de entrada de linha única que permite aos usuários selecionar um número ou um valor de objeto em uma sequência ordenada. Ele fornece uma maneira amigável de usuários para inserir valores, especialmente quando o intervalo de valores é limitado ou quando um conjunto específico de valores precisa ser selecionado.
Para começar a usar umJspinner, primeiro você precisa importar os pacotes de balanço Java necessários. O snippet de código a seguir mostra as declarações básicas de importação:
importar javax.swing.*; importar java.awt.*; importar java.awt.event.actionEvent; importar java.awt.event.actionListener; classe pública spinnerexample {public static void main (string [] args) {// crie um jframe jframe quadro = new jframe ("jspinner exemplo"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.SetSize (300, 200); frame.setLayout (new FlowLayout ()); // crie um jspinner jspinner spinner = new jspinner (); // Adicione o spinner ao quadro do quadro.Add (Spinner); // Torne o quadro Visible Frame.setVisible (true); }}
Neste código, primeiro criamos umJframequal será a janela principal do nosso aplicativo. Então, criamos umJspinnerObjeto e adicione -o ao quadro. Finalmente, tornamos o quadro visível. Ao executar esse código, você verá um spinner simples com um valor inicial de 0.
Personalizando o jspinner
O básicoJspinnerCriamos acima, possui um modelo padrão que permite valores inteiros a partir de 0. No entanto, você pode personalizar oJspinnerde várias maneiras.
Mudando o modelo
OJspinnerusa um modelo para gerenciar seus valores. Existem vários construídos - em modelos em Java Swing que você pode usar:
SpinnerNumberModel: Este modelo é usado quando você deseja criar um spinner para valores numéricos. Você pode especificar o tamanho mínimo, o máximo e o passo.
SpinnerNumberModel numberModel = new SpinnerNumberModel (5, 1, 10, 1); Jspinner Numberspinner = new JSPinner (númeroModel);
Neste exemplo, o spinner começará com um valor de 5, terá um valor mínimo de 1, um valor máximo de 10 e um tamanho de etapa de 1.
Modelo de lista de spinner: Se você deseja criar um spinner para uma lista específica de valores, você pode usar oModelo de lista de spinner.
String [] listValues = {"Apple", "Banana", "Cherry"}; SpinnerListModel listModel = new SpinnerListModel (ListValues); Jspinner listspinner = new jspinner (listmodel);
Este girador permitirá ao usuário selecionar a lista de frutas fornecidas.
Adicionando ouvintes
Você pode adicionar ouvintes aoJspinnerpara executar ações quando o valor do spinner muda. OChangelistenerA interface pode ser usada para esse fim.
spinner.addchangelistener (e -> {value objeto = spinner.getValue (); system.out.println ("novo valor:" + valor);});
Neste código, sempre que o valor do spinner mudar, o novo valor será impresso no console.
Usando o jspinner em um aplicativo real - mundial
Vamos considerar um cenário em que estamos criando um aplicativo para gerenciar o número de balanços em um playground. Como fornecedor de giro, oferecemos vários tipos de balanços, comoSwing duplo para crianças, Assim,Grandes adultos sensoriais de balanço, eConjuntos úteis de swing ao ar livre.
importar javax.swing.*; importar java.awt.*; importar java.awt.event.actionEvent; importar java.awt.event.actionListener; classe pública swingmanagementApp {public static void main (string [] args) {jframe frame = new jframe ("gestão de giro"); frame.setDefaultCloseoperation (jframe.exit_on_close); frame.SetSize (400, 300); frame.setLayout (new FlowLayout ()); // Crie um spinner para o número de swings spinnerNumberModel swingmodel = new SpinnerNumberModel (0, 0, 100, 1); Jspinner Swingspinner = new jspinner (swingmodel); // Crie um rótulo para exibir o número selecionado de balanços jlabel swinglabel = new jlabel ("Número de balanços selecionados: 0"); // Adicione um ouvinte de alteração ao swingspinner.addchangelistener (e -> {int value = (int) swingspinner.getValue (); swinglabel.settext ("Número de balanços selecionados:" + valor);}); // Crie um botão para confirmar a seleção jbutton confirmbutton = new jbutton ("confirm"); ConfirmButton.addactionListener (e -> {int value = (int) swingspinner.getValue (); joptionpane.showMessagedialog (quadro, "você selecionou" + valor + "swings");}); // Adicione componentes ao quadro do quadro.Add (New Jlabel ("Selecione o número de balanços:")); frame.add (swingspinner); frame.add (swinglabel); frame.add (confirmbutton); frame.setVisible (true); }}
Neste aplicativo, criamos um spinner para permitir que o usuário selecione o número de balanços. Também adicionamos um rótulo para exibir o número selecionado e um botão para confirmar a seleção. Quando o usuário clica no botão Confirmar, uma caixa de diálogo mostra o número de balanços que eles selecionaram.
Estilizando o jspinner
Você também pode estilizar oJspinnerpara torná -lo mais visualmente atraente. Você pode alterar a fonte, a cor e a borda do spinner.
spinner.setFont (New Font ("Arial", Font.Bold, 16)); spinner.setforeground (color.red); spinner.setborder (borderfactory.createlineborder (color.blue, 2));
Neste código, alteramos a fonte do spinner para Arial, Bold e tamanho 16. Também alteramos a cor do texto para vermelho e adicionamos uma borda azul com uma largura de 2 pixels.
Uso avançado do JSPinner
Criando um modelo personalizado
Se os modelos construídos - nos modelos não atenderem aos seus requisitos, você poderá criar um modelo personalizado, estendendo oAbstractSpinNermodelaula.
classe CustomSpinNermodel estende abstratespinNermodel {private string [] valores = {"Opção 1", "Opção 2", "Opção 3"}; private int currentIndex = 0; @Override public Object getValue () {retorna valores [currentIndex]; } @Override public void SetValue (valor do objeto) {for (int i = 0; i <valores.length; i ++) {if (valores [i] .equals (value)) {currentIndex = i; FirestateChanged (); quebrar; }}} @Override Public Object getNextValue () {if (currentIndex <valores.Length - 1) {currentIndex ++; FirestateChanged (); Valores de retorno [currentIndex]; } retornar nulo; } @Override public Object getPreviousValue () {if (currentIndex> 0) {currentIndex--; FirestateChanged (); Valores de retorno [currentIndex]; } retornar nulo; }}
Você pode usar este modelo personalizado com umJspinner:
CustomSpinNermodel Custommodel = new CustomSpinNermodel (); JSPinner CustomSpinner = new JSPinner (custommodel);
Conclusão
OJspinnerNo Java Swing, é um componente poderoso e versátil que pode ser usado para criar interfaces de usuário interativas. Como fornecedor de giro, entendemos a importância de fornecer componentes e soluções de alta qualidade. Se você está criando um aplicativo simples ou complexo, oJspinnerpode ser adaptado às suas necessidades.
Se você estiver interessado em comprar nossos produtos de balanço, comoSwing duplo para crianças, Assim,Grandes adultos sensoriais de balanço, ouConjuntos úteis de swing ao ar livre, ou se você tiver alguma dúvida sobre nossas soluções de programação de swing, não hesite em entrar em contato conosco para uma negociação de compras.
Referências
- "Java Swing Tutorial" de Oracle
- "Java eficaz", de Joshua Bloch
