This is my code. I use a controller in order to have everything more clean.
public class ControladorModificarMiembros implements IControladorModificarMiembros{
private VentanaModificarMiembros ventana;
private List<MiembroEnGrupo> miembros = new ArrayList<>();
ControladorModificarMiembros()
{
this.ventana = new VentanaModificarMiembros(this,null); //Instancia la ventana
this.ventana.setLocationRelativeTo(null); //Centra la ventana
this.ventana.getTablaMiembros().setModel(new ModeloTablaMiembros()); //Asignamos modelo a la tabla
ModeloTablaMiembros mta = (ModeloTablaMiembros) this.ventana.getTablaMiembros().getModel();
IGestorAutores ga = GestorAutores.crear();
List<MiembroEnGrupo> miembrosengrupo = new ArrayList<>();
for(Autor g : ga.verAutores())
{
MiembroEnGrupo e = new MiembroEnGrupo(g,null);
miembrosengrupo.add(e);
}
mta.asignarMiembrosEnGrupo(miembrosengrupo);
JComboBox comboRoles = new JComboBox();
comboRoles.setModel(new ModeloComboRol());
TableColumn tmpColumn = this.ventana.getTablaMiembros().getColumnModel().getColumn(1);
tmpColumn.setCellEditor(new DefaultCellEditor(comboRoles));
this.ventana.setVisible(true); //Makes it visible
}
@Override
public void btnTodosClic(ActionEvent evt) {
ModeloTablaAutores mta = (ModeloTablaAutores) this.ventana.getTablaMiembros().getModel();
mta.actualizar();
//HERE IS WHERE I HAVE TO PROGRAM THE JBUTTON IN ORDER TO PRESS IT AND AUTOMATICALLY SELECT ALL THE TABLE
@Override
public void btnNingunoClic(ActionEvent evt) {
ModeloTablaAutores mtg = (ModeloTablaAutores) this.ventana.getTablaMiembros().getModel();
//HERE IS WHERE I HAVE TO PROGRAM THE JBUTTON THAT WILL ALLOW TO DESELECT THE ROW THAT IS ALREADY SELECTED
JTableprovides this functionality for free. WithselectAll()andclearSelection.All you need to do is, to call these methods on your table in the corresponding
actionListenerof your buttons.Demo snippet:
After pressing "Unselect All", it is back to 1.