Problema con jcheckbox

Iniciado por Sa_Ve, 18 Marzo 2015, 22:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Sa_Ve

Hola, soy nuevo en este foro y bastante principiante en java

Estoy haciendo un proyecto con conexión a base de datos desde donde obtengo bastantes datos.

Entre los datos a destacar es que yo por ejemplo tengo tipos de cuenta "débito" y "crédito" por mencionar algunas, estas se traen mediante una consulta y se le asignan a unos checkbox quedando cmb0, cmb1 así, el cual obtengo mediante arreglos cmb[ i], todo funciona bien tomando en cuenta que obtiene el nombre y demás


El problema esta en que si lo selecciono debería devolver un isSelected()=true, pero siempre devuelve un false ya que aparentemente no tiene listener, y estuve buscando y acá encontré este tema donde menciona el como hacer la mayoría y si lo pruebo funciona, regresa true cuando clickeo y false cuando des selecciono, pero ahora mi pregunta


¿como puedo usar lo que obtengo de acá en un botón donde debo verificar la selección para poder ejecutar una consulta en una base de datos?

Ash Nazg durbatulûk, ash Nazg gimbatul, ash Nazg thrakatulûk agh burzum-ishi krimpatul.

Usuario Invitado

¿Podrías explicar con más detalle exactamente qué deseas hacer?
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

Sa_Ve

Que el checkbox regrese true para poder hacer algo al presionar un botón, ya que cuando valido en el check si regresa true, pero cuando valido en el botón alta solo devuelve false

Enviado desde mi LG-E425g mediante Tapatalk
Ash Nazg durbatulûk, ash Nazg gimbatul, ash Nazg thrakatulûk agh burzum-ishi krimpatul.

Usuario Invitado

Buenas tardes,

¿Hay alguna razón por la que deseas implementar ItemStateChange en JCheckBox?

Generalmente se utiliza con JComboBox para saber dinámicamente qué elemento se ha elegido del JComboBox. En JCheckBox no le veo mucha utilidad. El problema que tú tienes es que creas un array de JCheckBox de los cuales no tienes control. Sería mucho más sencillo, práctico y eficiente en términos de buenas prácticas de programación que declares como propiedades los controles con los cuales vas a interactuar.

Código (java) [Seleccionar]
private JCheckBox cbxDebito, cbxCredito, ...

Luego validas qué JCheckBox está activo desde el evento un JButton, por ejemplo:

Código (java) [Seleccionar]
@Override
public void actionPerformed(ActionEvent evt) {
    if(cbxDebito.isSelected()) {
        // hacer algo para débito
    } else {
           // hacer algo para crédito
    }
}
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

Sa_Ve

Cita de: Gus Garsaky en 19 Marzo 2015, 20:35 PM
Buenas tardes,

¿Hay alguna razón por la que deseas implementar ItemStateChange en JCheckBox?

Generalmente se utiliza con JComboBox para saber dinámicamente qué elemento se ha elegido del JComboBox. En JCheckBox no le veo mucha utilidad. El problema que tú tienes es que creas un array de JCheckBox de los cuales no tienes control. Sería mucho más sencillo, práctico y eficiente en términos de buenas prácticas de programación que declares como propiedades los controles con los cuales vas a interactuar.

Código (java) [Seleccionar]
private JCheckBox cbxDebito, cbxCredito, ...

Luego validas qué JCheckBox está activo desde el evento un JButton, por ejemplo:

Código (java) [Seleccionar]
@Override
public void actionPerformed(ActionEvent evt) {
    if(cbxDebito.isSelected()) {
        // hacer algo para débito
    } else {
           // hacer algo para crédito
    }
}


Algo así es como lo que requiero, pero el detalle es como todo esta ingresado desde una bd los listener no funcionaban, pero deja pruebo a ver si funciona :)
Ash Nazg durbatulûk, ash Nazg gimbatul, ash Nazg thrakatulûk agh burzum-ishi krimpatul.