Usar Classe soh para os Botoes

Ola pessoal, tenho uma JPanel e gostaria de criar uma classe separada somente para os botoes de edicao.
Assim eu poderei utilizar os botoes em muitos JPanels diferentes sem ter q cria-los toda hora.
Qual as opinioes sobre esse metodo?? Seria mais pratico??

Se forem iguais para várias telas, talvez uma classe que estenda JPanel com os seus botões ajude. Um pequeno painel que poderia ser adicionado em outros paineis, facilitando o trabalho.

Sera melhor fazer uma classe para cada botao com sobrecarga?
por exemplo, uma classe apenas para o botao gravar com varios metodos gravar(),
com diferentes quantidades de argumentos?

Depende da situação… esses botões editam o que exatamente? Por exemplo, poderia ser feito dessa forma (apesar de não ser a única forma de se fazer):

public class PainelEdicao extends JPanel {
    public PainelEdicao() {
        super();
        // inicializa os componentes
        JButton editar = new JButton("Editar");
        editar.addActionListener(new EditarListener()); // crio uma instância da inner class
        // inicializo e adiciono todos os componentes necessários
        add(editar);
    }

    // aqui a classe que comanda os eventos
    private class EditarListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            // TODO fazer algo aqui
        }
    }
}

Se for apenas botões como OK, CANCEL, etc é necessário apenas JOptionPane.(algum dialog):
http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html

Naoki, acho que você está caindo na mesma armadilha em que eu cai qdo comecei com OO. Parece óbvio o que vou dizer. O paradigma se chama Orientação a OBJETOS, e não Orientação à Classes. Assim, pense em termos de objetos, não em termos de classes. No caso dos botões Gravar, codifique cada um deles primeiro, e decida se vale a pena ou não criar uma classe para eles em uma refatoração. Vamos supor que você crie uma classe
BotaoGrava, com 4 versões do método gravar. Se você utilizar 4 objetos dessa classe e cada objeto utiliza recursos de uma única versão do método, concordo comigo que não tem sentido reuní-los em uma classe ? Em outras palavras, você vai introduzir uma complexidade desnecessária no seu sistema.