社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 39057阅读
  • 65回复
金鳞 离线

级别: CEC贵宾

显示用户信息 

倒序阅读   只看楼主      楼主   发表于: 2005-11-25
更多操作

用SWT实现的TableViewer,供参考~

普通的table,多样的cell
图片:1.jpg
本帖最近评分记录:
reload_cn 威望 +5 2005-11-25 -
reload_cn 财富 +10 2005-11-25 -
隐藏评分记录清空我的评分动态 2 条评分
金鳞岂是池中物,一遇风云便化龙
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      1楼  发表于: 2005-11-25
可以文本编辑的cell
图片:2.jpg
金鳞岂是池中物,一遇风云便化龙
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      2楼  发表于: 2005-11-25
可以下拉框选择的cell
图片:3.jpg
金鳞岂是池中物,一遇风云便化龙
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      3楼  发表于: 2005-11-25
可以以超链接方式弹出的cell
图片:4.jpg
金鳞岂是池中物,一遇风云便化龙
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      4楼  发表于: 2005-11-25
代码在此,需要用到的同学可以拿去用。
附件: TableViewerImplBySWT.java (9 K) 下载次数:2700
金鳞岂是池中物,一遇风云便化龙
zxh1000 离线

级别: CEC程序员

显示用户信息 

只看该作者      5楼  发表于: 2005-11-25
中间可以加几列Checkbox吗
liangyao1211 离线

级别: CEC高级程序员

显示用户信息 

只看该作者      6楼  发表于: 2005-11-28
看起来不错,楼主大公无私啊
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      7楼  发表于: 2005-11-28
zxh1000,没有问题。你看看代码,就知道大部分的widget都可以加进去。如果只是在某一行的第一列加Checkbox,那就把TableItem的style加一个SWT.CHECK就可以了。

liangyao1211,书上说,把自己知道的分享出来,才可以提高:)
金鳞岂是池中物,一遇风云便化龙
jrkui 离线

级别: CEC高级程序员

显示用户信息 

只看该作者      8楼  发表于: 2005-11-28
请问楼主知道怎么在TableView里加上Button吗?
就像Excel一样。
路漫漫其修远兮,吾将上下而求索!
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      9楼  发表于: 2005-11-28
可以加,很简单,就像加Combo或Text一样:

Button bt = new Button(table,SWT.NONE);
bt.setText("...");

TableEditor editor=new TableEditor(table);
editor.grabHorizontal=editor.grabVertical=true;
editor.setEditor(bt,...,...);
金鳞岂是池中物,一遇风云便化龙
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      10楼  发表于: 2005-11-28
顺便回答zxh1000,以上回复的代码就正适合你的问题,不过要小小改动一个地方:

Button bt = new Button(table,SWT.CHECK);
bt.setText("...");
金鳞岂是池中物,一遇风云便化龙
jrkui 离线

级别: CEC高级程序员

显示用户信息 

只看该作者      11楼  发表于: 2005-11-28
这种方法我试过了,但是没成功
路漫漫其修远兮,吾将上下而求索!
jrkui 离线

级别: CEC高级程序员

显示用户信息 

只看该作者      12楼  发表于: 2005-11-28
另外,《Eclipse入门与精通》上也有介绍TableView的文章,例子和你的差不多,他加Combo不是按你加Button样加的,而是用ComBoxCellEditor()这个方法加的(抱歉,你的源码我没怎么看)
路漫漫其修远兮,吾将上下而求索!
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      13楼  发表于: 2005-11-28
我是测试过了才回复你的,在我这里没有问题,可以实现效果。
我想也许是因为我是用SWT实现的,你是不是直接用JFace实现的呢?
你可以看看我的代码,也许和你的有些不同。
金鳞岂是池中物,一遇风云便化龙
zxh1000 离线

级别: CEC程序员

显示用户信息 

只看该作者      14楼  发表于: 2005-12-01
呵呵,几天没上来,没想到金鳞有回帖,非常感谢,是这样的,我也是看了陈刚的那本eclipse的入门与精通,用的是jface实现的哪个tableviewer,当我设置SWT.CHECK,只能实现在第一列出现一个checkbox ,虽然可以用列的顺序调整,我可以把它放在中间,但是问题是只能加一列,多列就显示不出来了,难道用jface不能实现?
biosun 离线

级别: CEC高级程序员

显示用户信息 

只看该作者      15楼  发表于: 2005-12-12
试了一把,不错,都可以实现
金鳞 离线

级别: CEC贵宾

显示用户信息 

只看该作者      16楼  发表于: 2005-12-12
引用
下面是引用zxh1000于2005年12月01日 19:05发表的:
呵呵,几天没上来,没想到金鳞有回帖,非常感谢,是这样的,我也是看了陈刚的那本eclipse的入门与精通,用的是jface实现的哪个tableviewer,当我设置SWT.CHECK,只能实现在第一列出现一个checkbox ,虽然可以用列的顺序调整,我可以把它放在中间,但是问题是只能加一列,多列就显示不出来了,难道用jface不能实现?


可以实现,想加在哪就加在哪:)

Button bt = new Button(table,SWT.CHECK);
bt.setText("...");

TableEditor editor=new TableEditor(table);
editor.grabHorizontal=editor.grabVertical=true;
editor.setEditor(bt,item,column);

editor.setEditor(bt,item,column);这一句就可指定在第item行的第column列加一个bt。
很简单吧~~
金鳞岂是池中物,一遇风云便化龙
cnfree 离线

级别: CEC总版

显示用户信息 

只看该作者      17楼  发表于: 2005-12-12
我需要一种Table实现,但是不能用原生Table,只能用Custom实现,因为原生Table失去焦点以后,背景颜色非常难看。而且对背景颜色的控制也不是很好。
wen1211 离线

级别: CEC高级程序员

显示用户信息 

只看该作者      18楼  发表于: 2006-01-19
我怎么下来不可以啊
jdbc 离线

级别: CEC高级程序员

显示用户信息 

只看该作者      19楼  发表于: 2006-01-20
谢谢金鳞,我下了!
时间是那么的少,要学的却那么的多!
描述
快速回复

验证问题:
本站域名是?(eclipseworld.org 是答案) 正确答案:eclipseworld.org
 回复后跳转到最后一页