Título: Recoger valores de JCheckBox Publicado por: gabriel1995 en 26 Marzo 2018, 17:39 pm Buenas tardes foro, el tema es que estoy atascado en la construcción de un programa con swing y os vengo a pedir ayuda. El tema esta en que tengo un jframe cuyo objetivo es mostrar los elementos de un arraylist (de objetos) mediante jcheckbox para poder seleccionar el elemento(s) que quiera y al darle a un botón eliminar dichos elementos seleccionados del arraylist, pero no se como recoger dichos elementos marcados.
aquí dejo una imagen de como se vería: (https://i.imgur.com/5SMzbM6.png) Aquí dejo el código de la clase: //creo los jcheckbox JPanel tablero = new JPanel(); tablero.setBorder(null); tablero.setBackground(Color.GRAY); tablero.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); tablero.setBounds(10, 54, 364, 160); panel.add(tablero); JCheckBox box=null; //Muestro los perfiles disponibles Iterator it=p.contactos.iterator(); while(it.hasNext()) { Contacto aEliminar=(Contacto)it.next(); box = new JCheckBox(aEliminar.nombre); box.setFocusPainted(false); box.setBackground(Color.GRAY); box.setForeground(Color.LIGHT_GRAY); box.setHorizontalAlignment(SwingConstants.CENTER); tablero.add(box); } //Boton que al pinchar elimina los elementos seleccionados JButton botonAceptar = new JButton(""); botonAceptar.setIcon(new ImageIcon("E:\\Proyectos\\proyectos-eclipse\\Agenda_Telefonica\\images\\nuevoContacto.png")); botonAceptar.setBorder(null); botonAceptar.setBackground(new Color(55, 59, 58)); botonAceptar.setBounds(137, 239, 25, 25); panel.add(botonAceptar); if(box.isSelected()) { Contacto seleccionado=p.buscarContacto(box.getText()); p.eleminarContacto(seleccionado); dispose(); } muchas gracias Título: Re: Recoger valores de JCheckBox Publicado por: srWhiteSkull en 27 Marzo 2018, 23:54 pm Mete todos los jcheckbox implicados (los que denominas elementos) en una lista para tenerlos a mano. Todos menos el de eliminar, el de eliminar lo puedes hacer final y público, lo que sea pero que esté fácil de usar en cualquier lado y lo único es que cuando le apliques una acción, al de eliminar, pues recorres la lista de jcheckboxes y busca los seleccionados y los eliminas, que tendría que ser yendo al padre y hacer un remove() usando como argumento la propia referencia del jcheckbox seleccionado.
Yo eso de poner un botón eliminar con un jcheckbox lo veo incorrecto por no decirte absurdo. Usa por favor un botón. Título: Re: Recoger valores de JCheckBox Publicado por: gabriel1995 en 15 Abril 2018, 11:05 am buenos días y perdón por no contestar antes, como bien me dijiste, metí los checkbox en un arraylist y funciono. muchas gracias
Enviado desde mi LG-D855 mediante Tapatalk |