Bonjour ,
J’utilise une JTable avec une checkbox en troisième colonne et je souhaiterais donner le focus à la première cellule de ma première colonne mais je n’y arrive pas.
Je génère ma JTable avec une class MyModel de la manière suivante
jTableTest = new JTable(new MyModel());
class MyModel extends AbstractTableModel
{
private Vector data;
//private String[] colNames = new String[]{"un","deux","trois"};
private String[] colNames = new String[]{"IDORGANISME","LIBELLE","CENTRAL"};
private Class[] colClass = new Class[]{Vide.class,Vide.class,Boolean.class};
public MyModel(){
//super();
data = new Vector();
data.add(new Object[] {null, null,new Boolean(false)});
data.add(new Object[] {null, null,new Boolean(false)});
data.add(new Object[] {null, null,new Boolean(false)});
}
public int getColumnCount() {
return colNames.length;
}
public int getRowCount() {
return data.size();
}
public Object getValueAt(int row, int col) {
Object[] obj = (Object[]) data.get(row);
return obj[col];
}
public void setValueAt(Object val, int row, int col) {
Object[] obj = (Object[]) data.get(row);
obj[col] = val;
}
public boolean isCellEditable(int arg0, int arg1) {
return true;
}
public Class getColumnClass(int arg0) {
return colClass[arg0];
}
public String getColumnName(int col) {
return colNames[col];}
/* Pour ajouter une ligne au Model */
public void addRow(){
data.add(new Object[] {new Boolean(true), new Boolean(true),new Boolean(true)});
/* Pour que le changement dans les donnees soit pris en compte */
fireTableDataChanged();
}
}
et j’utilise une class MouseAdapter pour écouter les mouvements de la souris avecle code suivant :
Quelqu’un pourrait-il m’aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class MouseAdapter implements MouseListener { @Override public void mouseClicked(MouseEvent e) { Point p = e.getPoint(); int col = jTableTest.columnAtPoint(p); int row = jTableTest.rowAtPoint(p); if (jTableTest.isCellEditable(row, col)) { jTableTest.editCellAt(row, col); jTableTest.getEditorComponent().requestFocusInWindow(); } }
Merci d’avance
Partager