java基于SWT的table控件如何在单击表格时只选取一个单元格而不是一行 10

我知道table选取一行可以用FULL_SELECTION样式:table=newTable(cale,FULL_SELECTION);但如果只选取一个单元格改用什么样式... 我知道table选取一行可以用 FULL_SELECTION样式:
table = new Table(cale, FULL_SELECTION);
但如果只选取一个单元格改用什么样式呢?
展开
 我来答
御绿戎0EY
2017-05-08 · TA获得超过3.8万个赞
知道大有可为答主
回答量:2.7万
采纳率:38%
帮助的人:1268万
展开全部
建议你在显示table那里放置一个composite,这个composite使用栈布局,之后你要显示几个表格就往composite上new多少个,通过按钮去控制栈布局最顶层显示控件,具体请了解stacklayout
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kyo145236
2013-12-13 · TA获得超过301个赞
知道小有建树答主
回答量:212
采纳率:100%
帮助的人:201万
展开全部
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); //获取所选单元格内容

}
}
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式