Solo veo un problema...si no conoces todas las acciones k puede necesitar...es decir si no sabes k botones tienes almacenador y que accion neceista cada uno.....si eso ya lo sabes la repuesta es mas sencilla de lo que crees....yo eso ya lo he echo para crear un numero indefinido de Jlabels..
Simplemente tienes que hacer un bucle y crear los botones para cada uno de los datos que recojas de la base de datos y añadirle a cada uno un evento.....
//Los datos de la consulta estan el el objeto res que es un ResultSet
//ESto podria ir dentro dl constructor...
while(res.next()){
JButton jb = new JButton(r.getText("nombreBoton"));
jb.setName(r.getText("nombreBoton"));
jb.setPreferredSize(new Dimension(80,20));
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
acciones (e);
}
});
//Añadir el boton al panel k lo contenga,,
jPanel.add(.......
}
//Metodo k ejecutara la accion que desees para cada boton......
private void acciones(ActionEvent e){
JButton jb = (JButton)e.getSource();
if(jb.getName().equals("Boton1")){
}else if(jb.getName().equals("Boton2")){
}
}
Bueno espero k t ayude un poco...saludos