`
lggege
  • 浏览: 372786 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Text,Combo添加内容辅助功能[代码提示] [可下载代码]

    博客分类:
  • RCP
阅读更多

1.      

a)       ContentProposalAdapter

                         i.              内容建议Adapter类.

b)       IControlContentAdapter

                         i.              内容接口

c)       TextContentAdapter, ComboContentAdapter

                         i.              内容Adapter [专用于TextCombo].

                ii.              实现了IControlContentAdapter.

d)       SimpleContentProposalProvider

                         i.              建议Provider.

e)       AutoCompleteField

                    i.              ContentProposalAdapterSimpleContentProposalProvider扩展出来的一个简易使用的类.

2.       Text

a)       提示内容: "aa", "BB", "无敌"

b)       输入一个a, 则自动弹出下面的shell, 并且将内容列表过滤后, 只出现以a开头的内容.

c)       不区分大小写, 无论输入'a''A', 效果都是一样的.

d)       代码:

                         i.              new AutoCompleteField(nameT, new TextContentAdapter(), new String[]{"aa", "BB", "无敌"});

 Text的效果图

 

3.       Combo

a)       提示内容: "BeiJing", "南京", "北京"

b)       代码:

                         i.              new AutoCompleteField(cityC, new ComboContentAdapter(), new String[] {"BeiJing", "南京", "北京"});

 Combo效果图

 

4.       更多自定义功能

a)       快捷键"Ctrl+1" 弹出提示.

b)       .或 空格 弹出提示.

c)       200毫秒弹出提示.

d)       代码:

       KeyStroke keyStroke = null; // null 表示不接受快捷键

       try {

           keyStroke = KeyStroke.getInstance("Ctrl+1"); // text上按Ctrl+1弹出popupshell.

       } catch (Exception e) {

           e.printStackTrace();

       }

       ContentProposalAdapter adapter = new ContentProposalAdapter(remarksT, new TextContentAdapter(), new SimpleContentProposalProvider(new String[] {"one", "two", "three"}), keyStroke, new char[] {'.', ' '});

 更多自定义的效果图

 

5.       代码解释

a)       可以不用给ContentProposalAdapter指定LabelProvider. 如果指定,则不仅仅可以显示Text, 还可以显示Image.

b)       KeyStroke.getInstance("Ctrl+1").快捷键是Ctrl+1.

c)       ContentProposalAdapter.setAutoActivationDelay(200); 弹出popup的延迟时间.

d)       ContentProposalAdapter.setPropagateKeys(true);

                     i.              说明: 如果用户敲入的字母在内容列表内时,是否弹出popup内容列表.

                  ii.              true 弹出. 用户输入'o'会弹出popupshell. 输入'.'或空格也会弹出.

              iii.              false 不弹出. 用户只有输入'.'或空格才弹出popupshell. 输入'o',不弹出,即使'o'在内容中存在.

e)       ContentProposalAdapter.setFilterStyle(ContentProposalAdapter.FILTER_*);

                     i.              作用: 在用户敲入字母的时候是否过滤popup弹出的shell里面的内容.

                  ii.              ContentProposalAdapter.FILTER_NONE 不过滤. 说明: 下面的内容列表永远不变.

              iii.              ContentProposalAdapter.FILTER_CHARACTER 只用一个输入字符为条件过滤下面的内容列表. 说明:在输入多个字符后,下面的内容列表会被清空.

  • 描述: Text效果
  • 大小: 10 KB
  • 描述: Combo效果
  • 大小: 12.8 KB
  • 描述: 自定义效果
  • 大小: 13.5 KB
4
1
分享到:
评论
2 楼 bruce.peng 2009-02-12  
下来看看,谢谢先。
1 楼 lggege 2008-11-16  
效果见附件.

具体的解释代码里面也有, 可以去代码中查看.

由于使用可视化编辑的, 保存后再编辑, 已经是面目全非了, 无法再编辑了, 只能写评论..

相关推荐

Global site tag (gtag.js) - Google Analytics