Eclipse鼠标悬浮的提示没有了

Window->Preferences->Java->Editor->Hovers 将Combined Hover选择即可,如果Variable Values已经勾选,则把这个勾去掉,勾选Combined Hover。他们两是不能同时选中的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在GEF EditPart中实现鼠标悬浮提示信息,可以使用EditPartViewer的ToolTipHelper对象。具体来说,可以在EditPart中重写getAdapter()方法,返回IEditPartViewer的适配器,然后在适配器中实现ToolTipHelper对象的创建与配置。例如: ```java @Override public Object getAdapter(Class adapter) { if (adapter == IEditPartViewer.class) { return new IEditPartViewer() { private ToolTipHelper toolTipHelper; @Override public Control getControl() { return getViewer().getControl(); } @Override public void setEditDomain(EditDomain domain) { // do nothing } @Override public void setKeyHandler(KeyHandler handler) { // do nothing } @Override public void setSelectionManager(SelectionManager manager) { // do nothing } @Override public void setToolTipHelper(ToolTipHelper helper) { toolTipHelper = helper; } @Override public ToolTipHelper getToolTipHelper() { if (toolTipHelper == null) { toolTipHelper = new ToolTipHelper(getViewer().getControl()); toolTipHelper.activate(); } return toolTipHelper; } }; } return super.getAdapter(adapter); } ``` SelectionHandlesEditPolicy是一个GEF的EditPolicy,用于控制选中EditPart时显示的handles。它本身不提供鼠标悬浮提示的功能,但可以通过重写它的getToolTipRequest()方法来实现。例如: ```java public class MySelectionHandlesEditPolicy extends SelectionHandlesEditPolicy { @Override protected Request createTargetRequest() { return new SelectionRequest(RequestConstants.REQ_SELECTION_HOVER); } @Override protected void showTargetFeedback(Request request) { if (request.getType() == RequestConstants.REQ_SELECTION_HOVER) { // show tooltip String tooltipText = "This is a tooltip"; getHostFigure().setToolTip(new Label(tooltipText)); } else { super.showTargetFeedback(request); } } @Override protected void eraseTargetFeedback(Request request) { if (request.getType() == RequestConstants.REQ_SELECTION_HOVER) { // hide tooltip getHostFigure().setToolTip(null); } else { super.eraseTargetFeedback(request); } } } ``` 然后在EditPart的createEditPolicies()方法中添加该EditPolicy即可: ```java @Override protected void createEditPolicies() { super.createEditPolicies(); installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new MySelectionHandlesEditPolicy()); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值