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


