J'essaie de créer un tableau qui affiche une liste d'utilisateurs. Le tableau doit permettre aux utilisateurs de sélectionner une ligne entière mais ne doit pas permettre l'édition des cellules.
Jusqu'à présent, j'ai réussi à empêcher les utilisateurs de modifier les cellules, mais comment leur permettre de sélectionner les lignes au lieu des cellules ?
DefaultTableModel userTableModel = new DefaultTableModel(new Object[]{"Customer ID", "First Name", "Last Name"}, 0) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
Et ceci montre que j'alimente le tableau :
public void refreshCustomersList() throws SQLException, ClassNotFoundException {
UserBeanList userList = dbConnector.getUserData();
for (int i = 0; i < userList.size(); i++) {
UserBean userBean = userList.getUserBeanAt(i);
String[] data = new String[3];
data[0] = userBean.getCustomerID();
data[1] = userBean.getFirstName();
data[2] = userBean.getLastName();
userTableModel.addRow(data);
}
tableCustomers.setModel(userTableModel);
}
Comme je l'ai dit, j'ai désactivé l'édition des cellules, mais comment faire pour n'autoriser que la sélection des lignes.
J'ai vu des messages d'autres personnes disant que je devrais mettre ceci, mais je ne sais pas trop où le mettre.
selectionTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Toute aide serait la bienvenue.