给控件加装饰和输入提示一

在使用New Project Wizard的时候,可以看到在一些输入框左边有个小灯泡,把鼠标移到上面会有一些提示“Content assist Alt+/”;在框中使用 alt+/ 就是会出现一个提示。

 

Eclipse提供了一套对control的包装API,可以很简单的实现上述功能。如下:

 

增加decoration

		ControlDecoration decoration = new ControlDecoration(control,
				SWT.LEFT);
		decoration.setImage(decorationImage);
		decoration.setDescriptionText(decorationDescription);

 

Eclipse也提供了一些通用的decoration image和text,可以如下获取:

 

FieldDecoration fieldDecoration = FieldDecorationRegistry.getDefault()
				.getFieldDecoration(
						FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
		decorationDescription = fieldDecoration.getDescription() + "(. Alt+/)";
		decorationImage = fieldDecoration.getImage();

 

增加输入提示:

		char[] autoActivationCharacters = new char[] { '.' };
		KeyStroke keyStroke = null;
		try {
			keyStroke = KeyStroke.getInstance("Alt+/");
		} catch (ParseException e) {
			logError(e.getMessage(), e);
		}
		SimpleContentProposalProvider proposalProvider = new SimpleContentProposalProvider(
				proposalProviders);
		new ContentProposalAdapter(control, new TextContentAdapter(),
				proposalProvider, keyStroke, autoActivationCharacters);

 

这里的proposalProvider即在提示列表里出现在提示列。

 

这样就实现了一个简单的带提示标签和输入提示功能的控件。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值