[JAVA] probleme avec le header d'une JTable
____22
Messages postés
101
Statut
Membre
-
____22 Messages postés 101 Statut Membre -
____22 Messages postés 101 Statut Membre -
Bonjour,
j'espere que quelqu'un pourra me depanner
quand je clicke sur le header d'une JTable, le header ayant un mouseListener, ça detecte la derniere colonne et non celle rellement cliquée
et puis les dimensions qui valent 0 c'est bizarre..
http://img295.imageshack.us/img295/4450/headerad8.jpg
j'espere que quelqu'un pourra me depanner
quand je clicke sur le header d'une JTable, le header ayant un mouseListener, ça detecte la derniere colonne et non celle rellement cliquée
et puis les dimensions qui valent 0 c'est bizarre..
public class MessageReceivedList2 extends JFrame implements MouseListener {
private static final long serialVersionUID = 1L;
public static final String[] columnNames = { "bonjour","comment","ca","va" };
protected JTable table;
protected JScrollPane scroller;
protected model2 tableModel;
private static MessageReceivedList2 instance = null;
private int cpt = 0;
public MessageReceivedList2() {
tableModel = new model2(columnNames);
table = new JTable();
table.setModel(tableModel);
scroller = new javax.swing.JScrollPane(table);
table.getTableHeader().addMouseListener(this);
table.addMouseListener(this);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(scroller, BorderLayout.CENTER);
this.setSize(new Dimension(
Toolkit.getDefaultToolkit().getScreenSize().width, 150));
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
setTitle("Decoded Messages");
update();
}
public void RowCount(int n){tableModel.RowCount(n);update();}
public static MessageReceivedList2 getInstance() {
if (instance == null) {
instance = new MessageReceivedList2();
}
return instance;
}
public model2 getTableModel() {
return tableModel;
}
public void update() {
table.repaint();
}
public JTable getTable() {
return table;
}
public void mouseClicked(MouseEvent e) {
System.out.println("***"+e.getX()+"*"+e.getY());
try {
JTableHeader header = (JTableHeader)(e.getSource());
System.out.println(""+((DefaultTableCellRenderer)header.getDefaultRenderer()).isShowing()+((DefaultTableCellRenderer)header.getDefaultRenderer()).isVisible());
System.out.println(((DefaultTableCellRenderer)header.getDefaultRenderer()).getSize());
System.out.println(((DefaultTableCellRenderer)header.getDefaultRenderer()).getText()+"<<<<***"+e.getX()+"*"+e.getY());
} catch (java.lang.ClassCastException e1) {}
}
}
http://img295.imageshack.us/img295/4450/headerad8.jpg
A voir également:
- [JAVA] probleme avec le header d'une JTable
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
6 réponses
Tu as "va" parce que c'est le même Renderer qui est utilisé pour afficher chaque Header. C'est la dernière valeur avec laquelle il a été utilisé. Relis la spec de SUN sur les Renderer : c'est pour économiser de la mémoire qu'on utilise un modèle pour les données et un unique Renderer pour toutes les cellules du même type.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question