Text,Combo添加内容辅助功能[代码提示] [可下载代码]
2014-06-19 16:11
253 查看
原文:/article/4275724.html
1. 类
a) ContentProposalAdapter
i. 内容建议Adapter类.
b) IControlContentAdapter
i. 内容接口
c) TextContentAdapter, ComboContentAdapter
i. 内容Adapter类 [专用于Text或Combo的].
ii. 实现了IControlContentAdapter.
d) SimpleContentProposalProvider
i. 建议Provider类.
e) AutoCompleteField
i. 从ContentProposalAdapter和SimpleContentProposalProvider扩展出来的一个简易使用的类.
2. Text
a) 提示内容: "aa", "BB", "无敌"
b) 输入一个a, 则自动弹出下面的shell, 并且将内容列表过滤后, 只出现以a开头的内容.
c) 不区分大小写, 无论输入'a'或'A', 效果都是一样的.
d) 代码:
i. new AutoCompleteField(nameT, new TextContentAdapter(), new String[]{"aa", "BB", "无敌"});
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/8448377737d148427096879318484169.jpg)
3. Combo
a) 提示内容: "BeiJing", "南京", "北京"
b) 代码:
i. new AutoCompleteField(cityC, new ComboContentAdapter(), new String[] {"BeiJing", "南京", "北京"});
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/c342a2735ff5880ee69076bc81e11388.jpg)
4. 更多自定义功能
a) 快捷键"Ctrl+1" 弹出提示.
b) .或 空格 弹出提示.
c) 200毫秒弹出提示.
d) 代码:
KeyStroke keyStroke = null; // null 表示不接受快捷键
try {
keyStroke = KeyStroke.getInstance("Ctrl+1"); // 在text上按Ctrl+1弹出popup的shell.
} catch (Exception e) {
e.printStackTrace();
}
ContentProposalAdapter adapter = new ContentProposalAdapter(remarksT, newTextContentAdapter(), new SimpleContentProposalProvider(new String[] {"one", "two", "three"}), keyStroke, new char[]
{'.', ' '});
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/f338791e0fb914474400f6981045c176.jpg)
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'会弹出popup的shell. 输入'.'或空格也会弹出.
iii. false 不弹出. 用户只有输入'.'或空格才弹出popup的shell. 输入'o'等,不弹出,即使'o'在内容中存在.
e) ContentProposalAdapter.setFilterStyle(ContentProposalAdapter.FILTER_*);
i. 作用: 在用户敲入字母的时候是否过滤popup弹出的shell里面的内容.
ii. ContentProposalAdapter.FILTER_NONE 不过滤. 说明: 下面的内容列表永远不变.
iii. ContentProposalAdapter.FILTER_CHARACTER 只用一个输入字符为条件过滤下面的内容列表. 说明:在输入多个字符后,下面的内容列表会被清空.
cn.iwoo.fieldassist.rar (9.1 KB)
描述: 源代码
下载次数: 218
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/43dc9900872b5974c025325df598ff93.jpg)
描述: Text效果
大小: 10 KB
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/5ef6435f948c8630ffbe378b6c16ec93.jpg)
描述: Combo效果
大小: 12.8 KB
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/cf6d61ed77ce0ae0c6f2470d2a865f26.jpg)
描述: 自定义效果
大小: 13.5 KB
1. 类
a) ContentProposalAdapter
i. 内容建议Adapter类.
b) IControlContentAdapter
i. 内容接口
c) TextContentAdapter, ComboContentAdapter
i. 内容Adapter类 [专用于Text或Combo的].
ii. 实现了IControlContentAdapter.
d) SimpleContentProposalProvider
i. 建议Provider类.
e) AutoCompleteField
i. 从ContentProposalAdapter和SimpleContentProposalProvider扩展出来的一个简易使用的类.
2. Text
a) 提示内容: "aa", "BB", "无敌"
b) 输入一个a, 则自动弹出下面的shell, 并且将内容列表过滤后, 只出现以a开头的内容.
c) 不区分大小写, 无论输入'a'或'A', 效果都是一样的.
d) 代码:
i. new AutoCompleteField(nameT, new TextContentAdapter(), new String[]{"aa", "BB", "无敌"});
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/8448377737d148427096879318484169.jpg)
3. Combo
a) 提示内容: "BeiJing", "南京", "北京"
b) 代码:
i. new AutoCompleteField(cityC, new ComboContentAdapter(), new String[] {"BeiJing", "南京", "北京"});
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/c342a2735ff5880ee69076bc81e11388.jpg)
4. 更多自定义功能
a) 快捷键"Ctrl+1" 弹出提示.
b) .或 空格 弹出提示.
c) 200毫秒弹出提示.
d) 代码:
KeyStroke keyStroke = null; // null 表示不接受快捷键
try {
keyStroke = KeyStroke.getInstance("Ctrl+1"); // 在text上按Ctrl+1弹出popup的shell.
} catch (Exception e) {
e.printStackTrace();
}
ContentProposalAdapter adapter = new ContentProposalAdapter(remarksT, newTextContentAdapter(), new SimpleContentProposalProvider(new String[] {"one", "two", "three"}), keyStroke, new char[]
{'.', ' '});
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/f338791e0fb914474400f6981045c176.jpg)
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'会弹出popup的shell. 输入'.'或空格也会弹出.
iii. false 不弹出. 用户只有输入'.'或空格才弹出popup的shell. 输入'o'等,不弹出,即使'o'在内容中存在.
e) ContentProposalAdapter.setFilterStyle(ContentProposalAdapter.FILTER_*);
i. 作用: 在用户敲入字母的时候是否过滤popup弹出的shell里面的内容.
ii. ContentProposalAdapter.FILTER_NONE 不过滤. 说明: 下面的内容列表永远不变.
iii. ContentProposalAdapter.FILTER_CHARACTER 只用一个输入字符为条件过滤下面的内容列表. 说明:在输入多个字符后,下面的内容列表会被清空.
cn.iwoo.fieldassist.rar (9.1 KB)
描述: 源代码
下载次数: 218
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/43dc9900872b5974c025325df598ff93.jpg)
描述: Text效果
大小: 10 KB
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/5ef6435f948c8630ffbe378b6c16ec93.jpg)
描述: Combo效果
大小: 12.8 KB
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/cf6d61ed77ce0ae0c6f2470d2a865f26.jpg)
描述: 自定义效果
大小: 13.5 KB
相关文章推荐
- SWT/Jface Text Combo 添加代码辅助功能
- Eclipse代码自动辅助提示功能的设置
- 在Zend Studio中为ThinkPHP添加代码自动提示功能
- 为textView添加语音输入功能的实例代码(集成讯飞语音识别)
- AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
- Eclipse代码自动提示(内容辅助content assist)
- JS实现仿新浪微博发布内容为空时提示功能代码
- Visual Studio 2010添加代码自动提示功能(Visual Assist)
- 在Zend Studio中为ThinkPHP添加代码自动提示功能
- phpstorm添加extjs代码提示功能
- Eclipse代码自动提示(内容辅助content assist)
- Eclipse代码自动提示(内容辅助content assist)
- MyEclipse代码辅助提示功能消失恢复
- Eclipse代码自动提示(内容辅助content assist)
- Eclipse添加dtd文档为xml编辑提供代码提示功能
- ASP.NET 的后台代码问题:动态向Table里添加按钮,却提示没有Text属性。
- Eclipse代码自动提示(内容辅助content assist)
- .NET+JS对用户输入内容进行字数提示功能的实例代码
- 为PhpStorm添加Laravel 代码智能提示功能