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