我知道table选取一行可以用 FULL_SELECTION样式:
table = new Table(cale, FULL_SELECTION);
但如果只选取一个单元格改用什么样式呢?
我之前就是用该代码,可单击还是选取一行。
table = new Table(cale, SWT.NONE);
table.setOrientation(SWT.HORIZONTAL);
table.setDragDetect(false);
table.setHeaderVisible(true);
table.setLinesVisible(true);
你table里放的是TableItem,你获取的是TableItem,想想你的TableItem怎么整吧
建议尝试使用tableViewer
==============================================================
好早的问题。。以前没解决,刚好最近碰到这个情况,顺便把这部分补全了
table.addMouseListener(new MouseAdapter() {
@Override
public void mouseDoubleClick(MouseEvent e) {
//获取鼠标点击的位置
Point point = new Point(e.x, e.y);
//得到鼠标点击的行(item)
TableItem item = table.getItem(point);
if(item == null){
return;
}
//获取所点击的cell
for(int i = 0; i < table.getColumnCount(); i++){
Rectangle rect = item.getBounds(i);
if (rect.contains(point)) {
item.getText(i); //获取所选单元格内容
}
}
}
});