如何编程按钮来取消/选择表中的所有行和列?

sg2wtvxw  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(440)

这是我的密码。我使用一个控制器,以使一切更干净。

  1. public class ControladorModificarMiembros implements IControladorModificarMiembros{
  2. private VentanaModificarMiembros ventana;
  3. private List<MiembroEnGrupo> miembros = new ArrayList<>();
  4. ControladorModificarMiembros()
  5. {
  6. this.ventana = new VentanaModificarMiembros(this,null); //Instancia la ventana
  7. this.ventana.setLocationRelativeTo(null); //Centra la ventana
  8. this.ventana.getTablaMiembros().setModel(new ModeloTablaMiembros()); //Asignamos modelo a la tabla
  9. ModeloTablaMiembros mta = (ModeloTablaMiembros) this.ventana.getTablaMiembros().getModel();
  10. IGestorAutores ga = GestorAutores.crear();
  11. List<MiembroEnGrupo> miembrosengrupo = new ArrayList<>();
  12. for(Autor g : ga.verAutores())
  13. {
  14. MiembroEnGrupo e = new MiembroEnGrupo(g,null);
  15. miembrosengrupo.add(e);
  16. }
  17. mta.asignarMiembrosEnGrupo(miembrosengrupo);
  18. JComboBox comboRoles = new JComboBox();
  19. comboRoles.setModel(new ModeloComboRol());
  20. TableColumn tmpColumn = this.ventana.getTablaMiembros().getColumnModel().getColumn(1);
  21. tmpColumn.setCellEditor(new DefaultCellEditor(comboRoles));
  22. this.ventana.setVisible(true); //Makes it visible
  23. }
  24. @Override
  25. public void btnTodosClic(ActionEvent evt) {
  26. ModeloTablaAutores mta = (ModeloTablaAutores) this.ventana.getTablaMiembros().getModel();
  27. mta.actualizar();

//在这里我必须编程jbutton,以便按下它并自动选择所有表

  1. @Override
  2. public void btnNingunoClic(ActionEvent evt) {
  3. ModeloTablaAutores mtg = (ModeloTablaAutores) this.ventana.getTablaMiembros().getModel();

//在这里我必须编程jbutton,它将允许取消选择已经选择的行

cfh9epnr

cfh9epnr1#

JTable 免费提供此功能。与 selectAll() 以及 clearSelection .
您所需要做的就是,在相应的 actionListener 你的纽扣。
演示片段:

  1. public static void main(String[] args) {
  2. SwingUtilities.invokeLater(() -> {
  3. buildGui();
  4. });
  5. }
  6. private static void buildGui() {
  7. JFrame frame = new JFrame();
  8. String[] header = { "Data1", "Data2" };
  9. Object[][] data = new Object[][] { { "Entry1", "Entry2" }, { "Entry3", "Entry4" } };
  10. JTable table = new JTable(data, header);
  11. JScrollPane sp = new JScrollPane(table);
  12. JButton btnSelect = new JButton("Select All");
  13. // on button click of "SelectAll"
  14. btnSelect.addActionListener((event) -> table.selectAll());
  15. JButton btnUnselect = new JButton("Unselect All");
  16. // on button click of "Unselect All"
  17. btnUnselect.addActionListener((event) -> table.clearSelection());
  18. JPanel btnPanel = new JPanel();
  19. btnPanel.add(btnSelect);
  20. btnPanel.add(btnUnselect);
  21. frame.add(sp);
  22. frame.add(btnPanel, BorderLayout.SOUTH);
  23. frame.pack();
  24. frame.setVisible(true);
  25. }

未选择任何内容:

按下“全选”键:

按“取消全选”后,返回1。

展开查看全部

相关问题