Bom, creio que você tá lendo esses "Tipos musicais" do banco de dados, certo?
Você pode fazer algo assim:
Sua classe de tipos musicais:
public class TipoMusical {
private Long ID;
private String nome;
// getters e setters omitidos.
}
Sua classe de persistência:
public class PersistenciaTipoMusical {
public List<TipoMusical> recuperarTodos() throws SQLException {
String sentencaSelect = "SELECT * FROM DBO.TIPOSMUSICAIS";
PreparedStatement statementSelect = connectionSelect.prepareStatement(sentencaSelect);
ResultSet resultSelect = statementSelect.executeQuery();
List<TipoMusical> tiposMusicais = new ArrayList<TipoMusical>();
while (resultSelect.next()) {
// gera o objeto e adiciona à lista.
}
return tiposMusicais;
}
}
Sua classe de serviços:
public class ServicosTipoMusical {
public List<TipoMusical> recuperarTiposMusicais() throws SQLException {
PersistenciaTipoMusical persistenciaTipoMusical = new PersistenciaTipoMusical();
return persistenciaTipoMusical.recuperarTodos();
}
}
E, na hora de montar sua interface:
public class InterfaceTiposMusicais extends JFrame {
public InterfaceTiposMusicais() {
try {
UIManaget.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
ServicosTipoMusical servicosTipoMusical = new ServicosTipoMusical();
List<TipoMusical> tiposMusicais = servicosTipoMusical.recuperarTiposMusicais();
Container container = getContentPane();
for (TipoMusical tipoMusical : tiposMusicais) {
JButton buttonTipoMusical = new JButton(tipoMusical.getNome());
buttonTipoMusical.addActionListener(new AcoesTipoMusical(tipoMusical));
container.add(buttonTipoMusical);
}
}
catch (SQLException errSQL) {
JOptionPane.showMessageDialog(null, "Erro no BD: " + errSQL.getMessage());
}
catch (Exception err) {
JOptionPane.showMessageDialog(null, "Erro qualquer: " + err.getMessage());
}
}
private class AcoesTipoMusical implements ActionListener {
private TipoMusical tipoMusical;
public AcoesTipoMusical(TipoMusical tipoMusical) {
this.tipoMusiscal = tipoMusical;
}
public void actionPerformed(ActionEvent event) {
// Aqui você pode fazer um método para verificar qual o tipo musical e,
// dependendo do que for, fazer determinada ação.
JOptionPane.showMessageDialog(null, "Bem-vindo à tela de " + tipoMusical.getNome());
}
}
}
O que acha dessa solução?