上一主题下一主题
«1234»Pages: 1/4     Go
主题 : 用SWT实现的TableViewer,供参考~
金鳞 离线
级别: CEC贵宾
显示用户信息 
0  发表于: 2005-11-25   

用SWT实现的TableViewer,供参考~

普通的table,多样的cell
图片:1.jpg
清空我的评分动态本帖最近评分记录: 共2条评分记录
reload_cn 威望 +5 2005-11-25 -
reload_cn 财富 +10 2005-11-25 -
隐藏评分记录
金鳞岂是池中物,一遇风云便化龙
金鳞 离线
级别: 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) 下载次数:2605
金鳞岂是池中物,一遇风云便化龙
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 离线
.Config IIT
级别: CEC高级程序员
显示用户信息 
19  发表于: 2006-01-20   
谢谢金鳞,我下了!
时间是那么的少,要学的却那么的多!
上一主题下一主题
«1234»Pages: 1/4     Go
描述
快速回复

验证问题:
十二除以三等于?请输入数字答案 正确答案:4
按"Ctrl+Enter"直接提交
上一个 下一个
      辽ICP备05021625号