上一主题下一主题
«1234»Pages: 1/4     Go
主题 : 用SWT实现的TableViewer,供参考~
级别: CEC贵宾
UID: 3462
精华: 2
发帖: 247
威望: 48 点
积分: 191 分
贡献: 0 点
在线时间: 50(时)
注册时间: 2005-11-24
最后登录: 2007-05-14
0  发表于: 2005年11月25日 14:24

用SWT实现的TableViewer,供参考~

图片:
普通的table,多样的cell
本帖最近评分记录:
  • 财富:10(reload_cn)
  • 威望:5(reload_cn)
  • 金鳞岂是池中物,一遇风云便化龙
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    1  发表于: 2005年11月25日 14:27

    图片:
    可以文本编辑的cell
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    2  发表于: 2005年11月25日 14:28

    图片:
    可以下拉框选择的cell
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    3  发表于: 2005年11月25日 14:31

    图片:
    可以以超链接方式弹出的cell
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    4  发表于: 2005年11月25日 14:36

    代码在此,需要用到的同学可以拿去用。
    附件: TableViewerImplBySWT.java (9 K) 下载次数:2353
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC程序员
    UID: 1334
    精华: 0
    发帖: 26
    威望: 13 点
    积分: 0 分
    贡献: 0 点
    在线时间: 21(时)
    注册时间: 2005-10-28
    最后登录: 2009-02-23
    5  发表于: 2005年11月25日 22:45

    中间可以加几列Checkbox吗
    级别: CEC高级程序员
    UID: 2664
    精华: 0
    发帖: 25
    威望: 13 点
    积分: 232 分
    贡献: 0 点
    在线时间: 10(时)
    注册时间: 2005-11-14
    最后登录: 2008-07-22
    6  发表于: 2005年11月28日 09:12

    看起来不错,楼主大公无私啊
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    7  发表于: 2005年11月28日 10:25

    zxh1000,没有问题。你看看代码,就知道大部分的widget都可以加进去。如果只是在某一行的第一列加Checkbox,那就把TableItem的style加一个SWT.CHECK就可以了。

    liangyao1211,书上说,把自己知道的分享出来,才可以提高:)
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC高级程序员
    UID: 1214
    精华: 0
    发帖: 338
    威望: 39 点
    积分: 235 分
    贡献: 0 点
    在线时间: 57(时)
    注册时间: 2005-10-26
    最后登录: 2009-07-01
    8  发表于: 2005年11月28日 13:16

    请问楼主知道怎么在TableView里加上Button吗?
    就像Excel一样。
    路漫漫其修远兮,吾将上下而求索!
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    9  发表于: 2005年11月28日 13:23

    可以加,很简单,就像加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贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    10  发表于: 2005年11月28日 13:25

    顺便回答zxh1000,以上回复的代码就正适合你的问题,不过要小小改动一个地方:

    Button bt = new Button(table,SWT.CHECK);
    bt.setText("...");
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC高级程序员
    UID: 1214
    精华: 0
    发帖: 338
    威望: 39 点
    积分: 235 分
    贡献: 0 点
    在线时间: 57(时)
    注册时间: 2005-10-26
    最后登录: 2009-07-01
    11  发表于: 2005年11月28日 18:39

    这种方法我试过了,但是没成功
    路漫漫其修远兮,吾将上下而求索!
    级别: CEC高级程序员
    UID: 1214
    精华: 0
    发帖: 338
    威望: 39 点
    积分: 235 分
    贡献: 0 点
    在线时间: 57(时)
    注册时间: 2005-10-26
    最后登录: 2009-07-01
    12  发表于: 2005年11月28日 18:45

    另外,《Eclipse入门与精通》上也有介绍TableView的文章,例子和你的差不多,他加Combo不是按你加Button样加的,而是用ComBoxCellEditor()这个方法加的(抱歉,你的源码我没怎么看)
    路漫漫其修远兮,吾将上下而求索!
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    13  发表于: 2005年11月28日 19:21

    我是测试过了才回复你的,在我这里没有问题,可以实现效果。
    我想也许是因为我是用SWT实现的,你是不是直接用JFace实现的呢?
    你可以看看我的代码,也许和你的有些不同。
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC程序员
    UID: 1334
    精华: 0
    发帖: 26
    威望: 13 点
    积分: 0 分
    贡献: 0 点
    在线时间: 21(时)
    注册时间: 2005-10-28
    最后登录: 2009-02-23
    14  发表于: 2005年12月01日 19:05

    呵呵,几天没上来,没想到金鳞有回帖,非常感谢,是这样的,我也是看了陈刚的那本eclipse的入门与精通,用的是jface实现的哪个tableviewer,当我设置SWT.CHECK,只能实现在第一列出现一个checkbox ,虽然可以用列的顺序调整,我可以把它放在中间,但是问题是只能加一列,多列就显示不出来了,难道用jface不能实现?
    级别: CEC高级程序员
    UID: 4617
    精华: 0
    发帖: 46
    威望: 12 点
    积分: 257 分
    贡献: 0 点
    在线时间: 8(时)
    注册时间: 2005-12-09
    最后登录: 2009-01-28
    15  发表于: 2005年12月12日 11:23

    试了一把,不错,都可以实现
    级别: CEC贵宾
    UID: 3462
    精华: 2
    发帖: 247
    威望: 48 点
    积分: 191 分
    贡献: 0 点
    在线时间: 50(时)
    注册时间: 2005-11-24
    最后登录: 2007-05-14
    16  发表于: 2005年12月12日 13:01

    引用
    下面是引用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。
    很简单吧~~
    金鳞岂是池中物,一遇风云便化龙
    级别: CEC总版
    UID: 17
    精华: 4
    发帖: 47
    威望: 60 点
    积分: 217 分
    贡献: 0 点
    在线时间: 12(时)
    注册时间: 2005-08-24
    最后登录: 2009-03-03
    17  发表于: 2005年12月12日 13:13

    我需要一种Table实现,但是不能用原生Table,只能用Custom实现,因为原生Table失去焦点以后,背景颜色非常难看。而且对背景颜色的控制也不是很好。
    级别: CEC高级程序员
    UID: 6926
    精华: 0
    发帖: 18
    威望: 11 点
    积分: 221 分
    贡献: 0 点
    在线时间: 5(时)
    注册时间: 2006-01-10
    最后登录: 2006-04-03
    18  发表于: 2006年01月19日 22:42

    我怎么下来不可以啊
    .Config IIT
    级别: CEC高级程序员
    UID: 5376
    精华: 5
    发帖: 568
    威望: 15 点
    积分: 108 分
    贡献: 0 点
    在线时间: 91(时)
    注册时间: 2005-12-18
    最后登录: 2009-03-30
    19  发表于: 2006年01月20日 09:30

    谢谢金鳞,我下了!
    时间是那么的少,要学的却那么的多!
    上一主题下一主题
    «1234»Pages: 1/4     Go
    辽ICP备05021625号