Buenas tardes compañeros, estoy realizando un proyecto donde quiero que todo sea dinámico a través de datos obtenido de la BD (Los que ya me conocéis sabéis que todo lo he aprendido de ustedes y os estoy muy agradecido) :) :) :)
Sin mas dilación procedo a poner la parte de código que tengo:
//Creamos la categoría para recoger las familias de los productos
try {
rs = objConex.familiasProductos();
columna = 367;
fila = 249;
int x=1;
while (rs.next()) {
botonFProducto = new JButton(rs.getString("NOMBRE"));
botonFProducto.setBounds(columna, fila, 125, 80);
contentPane.add(botonFProducto);
x++;
columna += 130;
}
if (botonFProducto == null) {
System.out.println("No hay contenido");
} else {
botonFProducto.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Object ValorBoton = botonFProducto.getText();
System.out.println(ValorBoton);
}
});
}
} catch (SQLException e1) {
e1.printStackTrace();
}
PARTE SQL
public ResultSet familiasProductos() {
try {
stm = conex.createStatement();
String cadSQL = "";
cadSQL = "SELECT NOMBRE FROM FAMILIA_PRODUCTOS";
rs = stm.executeQuery(cadSQL);
System.out.println(cadSQL);
return rs;
} catch (SQLException ex) {
Logger.getLogger(ConexionDB.class.getName()).log(Level.SEVERE,null, ex);
JOptionPane.showMessageDialog(null,"Hubo un problema en la base de datos\n Contacte con el administrador");
}
return null;
}
Mi problema, mi desconocimiento, viene a la hora de intentar obtener el valor del JButton según yo clique en él, indiferentemente de los haya, con este código lo que consigo es obtener el valor del último JButton generado.
¿Que se os ocurre?
EDITO:
Bueno, la idea es la siguiente: con esta consulta obtengo desde la base de datos la cantidad de familias de productos y, luego con esta información, al pulsar en cada botón se debe obtener el nombre de la familia para realizar una consulta SQL posterior y obtener los productos dentro esa familia en cuestión.
Es decir, yo pulso en Refrescos, pues genero un Select productos from FAMILIA_PRODUCTOS where nombre= 'refrescos"; como ejemplo, entonces me saldrán todos los productos dentro de esa familia para poder obtener de manera dinámica todos los productos relacionados e imprimirlos por pantalla...