Visual – JToolBar – Drag and Drop – Java

Publicado: 17 de abril de 2014 em Java

A Barra de ferramentas é um componente utilizado pelos softwares com interface gráfica (GUI) com a finalidade de permitir uma ação rápida por parte do usuário, facilitando o acesso a funções do programa. Uma das suas características é possuir ícones para as operações mais corriqueiras e representar através de imagens operações que poderiam demandar uma grande quantidade de informações para chegar ao mesmo objetivo.

JToolBar

Proporciona um componente que é útil para indicar ações ou comandos muito utilizado, gerando atalhos através de uma barra de tarefas. Caso queira que a barra de ferramentas possua a funcionalidade drag and drop, você precisa cria-la em um BorderLayout.

JToolBar

JToolBar

Exemplo:

Neste exemplo criamos uma barra de tarefas utilizando botões e seus eventos de clique. Para testar este exemplo você precisa de imagens de ícones do formato PNG, as imagens podem ser baixadas neste link: http://www.iconesbr.net/icone/Linux

Java

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JToolBar;

public class BarraFerramenta implements ActionListener {

	// Declara componentes
	JToolBar ferramenta;
	JLabel rotulo;
	JButton botao = null;

	public Container criaPainel()
	{
		// Cria painel
		JPanel painel = new JPanel();

		// Define layout
		painel.setLayout(new BorderLayout());
		painel.setBorder(BorderFactory.createEmptyBorder(20,20,20,20));

		// Cria componentes
		ferramenta = new JToolBar();
		rotulo = new JLabel("Evento da barra de ferramentas");

		botao  = criaBotao("9445_128x128", "BNT1");
		ferramenta.add(botao);

		botao  = criaBotao("9450_128x128", "BNT2");
		ferramenta.add(botao);

		botao  = criaBotao("9451_128x128", "BNT3");
		ferramenta.add(botao);

		// Adiciona componentes ao painel
		painel.add(ferramenta, BorderLayout.PAGE_START);
		painel.add(Box.createVerticalStrut(20));
		painel.add(rotulo, BorderLayout.PAGE_END);

		return painel;
	}

	private JButton criaBotao(String icone, String acao) 

	{
		// Cria botões
		JButton bto = new JButton();
		String caminho = "C:/Desenvolvimento Aberto/" + icone + ".png";

		// Define eventos
		bto.setActionCommand(acao);
		bto.addActionListener(this);

		// Adiciona imagem
		bto.setIcon(new ImageIcon(caminho, "Icone"));

		return bto;
	}

	public void actionPerformed(ActionEvent arg0)
	{
		// Eventos dos botões
		String acao = arg0.getActionCommand();

		if (acao == "BNT1" )
		{
			rotulo.setText("Você clicou no botão 1");
		}

		if (acao == "BNT2" )
		{
			rotulo.setText("Você clicou no botão 2");
		}

		if (acao == "BNT3" )
		{
			rotulo.setText("Você clicou no botão 3");
		}		

	}

	public static void criaGUI()
	{
		// Cria Formulario
		JFrame formulario = new JFrame("DA - Barra de Ferramentas");
		formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// Instancia da classe
		BarraFerramenta barra = new BarraFerramenta();

		// Adiciona painel ao formulario
		formulario.setContentPane(barra.criaPainel());

		formulario.pack();
		formulario.setVisible(true);	

	}

	public static void main(String[] args) {

		javax.swing.SwingUtilities.invokeLater(new Runnable() {

			@Override
			public void run() {

				// Cria GUI
				criaGUI();

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