Bonjour je rencontre un soucis pour rendre actif mes jbutton
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 private void initTabFichier() { String[] titreColonne = { "Date", "Nom du Fichier", "Taille"}; Object[][] donnees = PathManager.getPathListFileName(); TableAbstractModele TAB_Modele = new TableAbstractModele(donnees, titreColonne); TAB_RacinePath = new JTable(TAB_Modele); JScrollPane TAB_Scroll = new JScrollPane(TAB_RacinePath); TableColumn colonne1 = TAB_RacinePath.getColumnModel().getColumn(0); colonne1.setPreferredWidth(100); TableColumn colonne2 = TAB_RacinePath.getColumnModel().getColumn(1); colonne2.setPreferredWidth(425); TableColumn colonne3 = TAB_RacinePath.getColumnModel().getColumn(2); colonne3.setPreferredWidth(70); for(int i = 0; i < TAB_RacinePath.getRowCount(); i++) { TAB_RacinePath.setRowHeight(i, 40); } TAB_RacinePath.getTableHeader().setReorderingAllowed(false); TAB_RacinePath.getTableHeader().setResizingAllowed(false); colonne1.setCellRenderer(new TableLabelRenderer(TAB_RacinePath)); colonne3.setCellRenderer(new TableLabelRenderer(TAB_RacinePath)); colonne2.setCellRenderer(new TableButtonRenderer(viewPDF, LAB_NbPagePdf)); colonne2.setCellEditor(new TableButtonRenderer(viewPDF, LAB_NbPagePdf)); image.add(TAB_Scroll); TAB_Scroll.setBounds(128, 124, 595, 457); }
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 import javax.swing.table.AbstractTableModel; public class TableAbstractModele extends AbstractTableModel { private Object[][] data; private String[] title; public TableAbstractModele(Object[][] data, String[] title) { this.data = data; this.title = title; } public int getColumnCount() { return this.title.length; } public int getRowCount() { return this.data.length; } public Object getValueAt(int row, int col) { return this.data[row][col]; } }Quelqu'un voit d'où vient le problème?
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 import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.EventObject; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; public class TableButtonRenderer extends JButton implements TableCellRenderer, TableCellEditor { private Object value; private PdfManager view; private JLabel textePage; public TableButtonRenderer(PdfManager viewPDF, JLabel texte) { this.view = viewPDF; this.textePage = texte; } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { setText((value==null)?"":value.toString()); return this; } public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { this.value=value; final String nomFichier = value.toString(); setText((value==null)?"":value.toString()); System.out.println(nomFichier); addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //File fichierPdf = new File(Informations.rootPath + "/" + nomFichier); System.out.println(new File(Informations.rootPath + "/" + nomFichier)); view.setFichierPdf(new File(Informations.rootPath + "/" + nomFichier)); view.setPagePdf(1); textePage.setText(view.getCurrentPagePdf() + " sur " + view.getNbPagePdf()); } }); return this; } public void cancelCellEditing() {} public boolean stopCellEditing() { return false; } public Object getCellEditorValue() { return value; } public boolean isCellEditable(EventObject anEvent) { return true; } public boolean shouldSelectCell(EventObject anEvent) { return true; } public void addCellEditorListener(CellEditorListener l) {} public void removeCellEditorListener(CellEditorListener l) {} }
Pourtant isCellEditable est bien à true!!!
Merci
Partager