Visual – JSLider, Ticks – Java

Publicado: 23 de março de 2014 em Java

Slider

Um controle deslizante, também conhecido como Track Bar, é um objeto de interface gráfica (GUI) com o qual o usuário pode definir um valor movendo um indicador, geralmente de uma forma horizontal. Em alguns casos, o usuário também pode clicar em um ponto no controle deslizante para alterar a configuração.

Ticks

Os Ticks são os riscos de marcação do Slider e indicam a quantidades de valores que você pode diminuir ou aumentar deslizando o botão do Slider. Os Ticks são opcionais você pode mostra-los ou não usando a propriedade SetPaintTicks, você também pode configurar a quantidade e o espaçamento das marcas do Sider e mostrar suas legendas.

Exemplo:

Neste exemplo criamos um Slider e mudamos suas propriedades para que mostres as marcações e legendas de suas posições.

Java

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;

public class Slider extends JPanel implements ActionListener
{
	// Declara componentes
	JLabel titulo;
	JLabel valor;
	JSlider slider;
	JButton botao;

	// Declara variaveis
	int sMin = 0;
	int sMax = 50;
	int sPos = 25;
	String mostraValor = "Valor escolhido é: ";

	Slider()
	{
		// Cria componentes
		titulo = new JLabel("Desenvolvimento Aberto - JSlider");
		valor = new JLabel(mostraValor);
		slider = new JSlider(JSlider.HORIZONTAL, sMin, sMax, sPos);
		botao = new JButton("Ok");

		// Adiciona propriedades ao componentes
		slider.setMajorTickSpacing(10);
		slider.setMinorTickSpacing(1);
		slider.setPaintTicks(true);
		slider.setPaintLabels(true);

		botao.addActionListener(this);

		// Cria layout
		GridLayout layout = new GridLayout(0,1,5,10);

		setLayout(layout);

		// Adiciona componentes no painel
		add(titulo);
		add(valor);
		add(slider);
		add(botao);

		setBorder(BorderFactory.createEmptyBorder(20,20,20,20));

	}

	public void actionPerformed(ActionEvent arg0)
	{
		// Evento do botão
		if (arg0.getSource() == botao)
		{
			valor.setText(mostraValor + String.valueOf(slider.getValue()));
		}

	}

	 private static void mostraGui()
	    {
	        // Cria GUI
		    JFrame formulario = new JFrame("JSlider");
	        formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	        JComponent painel = new Slider();
	        painel.setOpaque(true);

	        formulario.setContentPane(painel);
	        formulario.pack();
	        formulario.setVisible(true);
	    }

	public static void main(String[] args)
	{

		// Mostra GUI
		javax.swing.SwingUtilities.invokeLater(new Runnable() {

			@Override
			public void run() {

				mostraGui();

			}
		});

	}
}
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s