La classe AbstractTableModel est utilisée pour représenter les données dans une JTable. Il fournit des méthodes pour récupérer les données de chaque cellule du tableau et pour ajouter ou supprimer des lignes et des colonnes du tableau.
Dans le code fourni, la classe TableModel est utilisée pour afficher les résultats d'une base de données. requête dans une JTable. Cependant, il y a deux problèmes avec la façon dont le tableau est affiché.
Voici une version modifiée de la classe TableModel qui résout ces deux problèmes :
import java.util.List; import javax.swing.table.AbstractTableModel; public class TableModel extends AbstractTableModel { private List<String[]> data; private String[] columnNames; public TableModel(List<String[]> data, String[] columnNames) { this.data = data; this.columnNames = columnNames; } @Override public int getRowCount() { return data.size(); } @Override public int getColumnCount() { return columnNames.length; } @Override public Object getValueAt(int rowIndex, int columnIndex) { return data.get(rowIndex)[columnIndex]; } @Override public String getColumnName(int columnIndex) { return columnNames[columnIndex]; } public void addRow(String[] rowData) { data.add(rowData); fireTableRowsInserted(data.size() - 1, data.size() - 1); } public void removeRow(int rowIndex) { data.remove(rowIndex); fireTableRowsDeleted(rowIndex, rowIndex); } public void updateData(List<String[]> newData) { data = newData; fireTableDataChanged(); } }
Ceci La version modifiée de la classe TableModel inclut les changements suivants :
Ces modifications corrigeront les deux problèmes avec la façon dont le tableau est affiché.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!