Pb Action sur un jbutton dans un jtable
Bonjour je rencontre un soucis pour rendre actif mes jbutton
Code:
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:
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]; }
} |
Code:
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) {}
} |
Quelqu'un voit d'où vient le problème?
Pourtant isCellEditable est bien à true!!!
Merci