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:
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
aquí dejo una imagen de como se vería:
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