Bonsoir,
Voilà j'ai besoin d'utiliser une JTable avec aucune cellule modifiable, mais par defaut elles le sont toutes.
J'ai pourtant bien redéfini la méthode isCellEditable dans ma classe étandant AbstractTableModel. Voici mon code :
MediumTable.java:
SearchResult.java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package pobj.mediatheque.view; import javax.swing.table.AbstractTableModel; public class MediumTable extends AbstractTableModel { private Object[][] donnees; private final String[] titres; public MediumTable(Object donnees[][], String titres[]) { this.donnees = donnees; this.titres = titres; } public int getColumnCount() { return donnees[0].length; } public Object getValueAt(int parm1, int parm2) { return donnees[parm1][parm2]; } public int getRowCount() { return donnees.length; } public String getColumnName(int col){ return titres[col]; } public boolean isCellEditable(int row, int col) { return false; } }
Merci pour vos indications
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 package pobj.mediatheque.view; import java.awt.Dimension; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.ListSelectionModel; import pobj.mediatheque.media.CD; import pobj.mediatheque.media.Cassete; import pobj.mediatheque.media.DVD; import pobj.mediatheque.media.Medium; import pobj.mediatheque.recherche.Filtrage; public class SearchResult extends JFrame { private JTable table; private ArrayList<Medium> med; private String[] resultats; private JPanel pan; private Object[][] mesResultats; private final String[] titreColonnes = { "Type", "Auteur", "Titre", "Format/Zone/Durée", "Exemplaire restant", "Exemplaire total"}; public SearchResult(ArrayList<Medium> med) { super("Resultats recherche"); this.med = med; makeGUI(); configureGUI(); this.med = med; } public void makeGUI() { makeResultats(); makeTable(); this.add(table); } public void makeResultats() { Medium tmp; mesResultats = new Object[med.size()][titreColonnes.length]; for (int i = 0 ; i < med.size() ; i++) { tmp = med.get(i); mesResultats[i][0] = tmp.getDescriptionMedium(); mesResultats[i][1] = tmp.getAuteur(); mesResultats[i][2] = tmp.getTitre(); mesResultats[i][3] = tmp.getParam(); mesResultats[i][4] = tmp.getNbExemplaireDispo(); mesResultats[i][5] = tmp.getNbExemplaireTotal(); } } public void makeTable() { table = new JTable(mesResultats, titreColonnes); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } public void configureGUI() { this.setSize(new Dimension(500, 300)); setLocationRelativeTo(null); this.setVisible(true); } }![]()
Partager