java基于SWT的table控件如何在单击表格时只选取一个单元格而不是一行 10
我知道table选取一行可以用FULL_SELECTION样式:table=newTable(cale,FULL_SELECTION);但如果只选取一个单元格改用什么样式...
我知道table选取一行可以用 FULL_SELECTION样式:
table = new Table(cale, FULL_SELECTION);
但如果只选取一个单元格改用什么样式呢? 展开
table = new Table(cale, FULL_SELECTION);
但如果只选取一个单元格改用什么样式呢? 展开
2个回答
展开全部
建议你在显示table那里放置一个composite,这个composite使用栈布局,之后你要显示几个表格就往composite上new多少个,通过按钮去控制栈布局最顶层显示控件,具体请了解stacklayout
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
table = new Table(cale, SWT.NONE);
追问
我之前就是用该代码,可单击还是选取一行。
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); //获取所选单元格内容
}
}
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询