DEV Community

Cover image for Crear un checkBox Dinámico y el evento keyPress en java
RUPHACOD
RUPHACOD

Posted on

Crear un checkBox Dinámico y el evento keyPress en java

En Java, un JCheckBox es un componente gráfico que permite al usuario seleccionar una o más opciones de una lista. Un JCheckBox dinámico es una casilla de verificación que se crea mediante programación en tiempo de ejecución, en lugar de codificarse en el programa.

La creación de un JCheckBox dinámico es útil cuando necesita generar casillas de verificación basadas en una lista dinámica de datos, como una lista de opciones que puede cambiar con el tiempo o que está determinada por la entrada del usuario. Al generar componentes JCheckBox dinámicamente, puede crear una interfaz según los requisitos del usuario.

Para crear componentes JCheckBox dinámicos en Java, puede usar un bucle para iterar sobre una lista de datos, como una ArrayList o una matriz, y crear un nuevo objeto JCheckBox para cada elemento de la lista.

public void CreateCheckBox() {
        for (int i = 0; i < array.length; i++) {
            int resi=(i==3?(i+2):(i + 1));//Condition if
            texto=new JLabel("[ F"+resi+ " ] ");//create label dynamic
            texto.setBounds( 7, i*50+10, 150, 30);//position label dynamic
            for (int j = 0; j < array[i].length; j++) {//create JCheckBox dynamic
                box = new JCheckBox(array[i][j]);
                String array2 = array[i][0];
                box.setName(array2);
                box.setBackground(Color.white);
            }
            Panel.add(texto);
            pnlDatos.add(box);
            pnlDatos.revalidate();
        }
    }
Enter fullscreen mode Exit fullscreen mode

Además, puede establecer propiedades en los objetos JCheckBox, como la etiqueta de texto, el estado seleccionado según los eventos del teclado.
Mediante los eventos permitir que el usuario interactúe con la aplicación mediante atajos de teclado o teclas de acceso rápido.

Para seleccionar una lista se crea el evento keyPress, dicho evento contiene información sobre la tecla que se presionó, como su código de tecla. Esta información se puede usar para determinar qué tecla se presionó y cómo debe responder la aplicación al evento.

public void keyPress(String turno) {

        int component = pnlDatos.getComponentCount();
        for (int i = 0; i < component; i++) {
            String name = (String) pnlDatos.getComponent(i).getClass().getName();
            JCheckBox nameCheckBox = (JCheckBox) pnlDatos.getComponent(i);
            if (name == "javax.swing.JCheckBox" && nameCheckBox.getName().equalsIgnoreCase(turno)) {
                boolean check = nameCheckBox.isSelected();
                if (check) {
                    nameCheckBox.setSelected(false);
                    String str = vgetcheckData.replace(nameCheckBox.getName() + ";", "");
                    vgetcheckData = str;
                } else {
                    nameCheckBox.setSelected(true);
                    vgetcheckData = vgetcheckData + nameCheckBox.getName() + ";";
                }
            }
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Para manejar un evento keyPress en Java, puede usar un detector de eventos, como KeyListener, para registrar el evento y proporcionar un método de devolución de llamada para manejar el evento.

public void keyPressed_(KeyEvent ke) {
        if (ke.getKeyCode() == KeyEvent.VK_F1) {
            keyPress("4");
        }else if (ke.getKeyCode() == KeyEvent.VK_F2) {
            keyPress("5");
        }else if (ke.getKeyCode() == KeyEvent.VK_F3) {
            keyPress("6");
        }else if (ke.getKeyCode() == KeyEvent.VK_F5) {
            keyPress("7");
        }else if (ke.getKeyCode() == KeyEvent.VK_F11) {
            textfield1.setText(vgetcheckData+"\n");
        }
    }
Enter fullscreen mode Exit fullscreen mode

Los eventos F1, F2, F3 y F5 marca la casilla según los teclados seleccionados.
El evento F11 realiza el proceso de obtener el valor de cada casilla y lo muestra en la caja de texto

Resultado
Image description CheckBox Dynamic - keyPress

Conclusión
En conclusión, combinar los eventos JCheckBox y keyPress en Java le permite crear una interfaz de usuario dinámica que puede responder tanto a la entrada del usuario como a los eventos del teclado. Al usar un KeyListener para manejar los eventos del teclado y actualizar el estado seleccionado de los componentes de JCheckBox en consecuencia, puede crear una interfaz de usuario flexible que pueda adaptarse a los requisitos cambiantes del usuario.
En general, al combinar estas dos funciones, puede crear un programa más versátil y fácil de usar que pueda satisfacer mejor las necesidades de sus usuarios.

Descargar proyecto

GitHub logo RUPHACOD / CheckBoxDynamic_

Ejemplo CheckBox dinámico en java con eventos de teclado

Bibliografía

Top comments (0)