在Java中创建动态复选框和键盘事件
#编程 #java #eclipse #jcheckbox

在Java中,JCHECKBOX是一个图形组件,允许用户选择列表的一个或多个选项。动态jCheckbox是一个验证框,是通过执行时间编程创建的,而不是在程序中编码。

当需要基于动态数据列表生成验证框时,创建动态jCheckbox是ostile的,例如可以随时间变化或由用户确定的选项列表。在动态生成JCHECKBOX组件时,您可以根据用户要求创建接口。

要在Java中创建动态jCheckbox组件,您可以使用循环在数据列表上迭代(例如arraylist或矩阵),并为列表的每个元素创建一个新的JCHECKBOX对象。



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();
        }
    }

此外,您可以在JCHECKBOX对象中建立属性,例如文本标签,根据键盘事件所选状态。
通过这些事件,允许用户通过键盘快捷键或已访问键与应用程序进行交互。

要选择一个列表,创建了按键事件,此事件包含有关按键的键,作为其键的键。这些信息可用于确定按下键以及应用程序必须如何响应事件。

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() + ";";
                }
            }
        }
    }
}

要处理Java中的按键事件,您可以使用事件检测器(例如KeyListener)记录事件并提供全部返回调用以处理该事件。

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");
        }
    }

事件F1,F2,F3和F5标记了选定的键盘。

F11事件执行获得每个框的值的过程,并在文本框中显示。

结果
Image description CheckBox Dynamic - keyPress

结论³n
总之,将JCHECKBOX和JAVA中的键盘事件组合在一起,您可以创建一个动态的用户界面,该界面可以响应用户的入口和键盘事件。当使用键盘列器处理键盘事件并相应地更新JCHECKBOX组件的所选状态时,您可以创建一个灵活的用户界面,可以适应用户的不断变化的要求。




通常,通过组合这两个功能,您可以创建一个版本和扼杀来使用更多程序,以更好地满足其用户的需求。

下载项目

GitHub logo RUPHACOD / CheckBoxDynamic_

带有键盘事件的Java中的动态复选框示例

bibliografãa