找回密码
 注册会员
查看: 780|回复: 0

如何在RCP开发中能够弹出像Eclipse那样子的自动对话框吗?

[复制链接]
发表于 2010-7-5 14:41:38 | 显示全部楼层 |阅读模式
<p>如何在RCP开发中能够弹出像Eclipse那样子的自动对话框吗?</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2010-7-5 14:40</p>
<p>就是当鼠标放到上面只是,就能够自动弹出来的那种。或者点击的时候也是一样的。</p>
<p>提问者: 康熙的后代 - 二级</p>
<p>最佳答案</p>
<p>将下面这段代码加入到你的事件处理函数中即可:</p>
<p>new PopupDialog(button.getShell(), PopupDialog.HOVER_SHELLSTYLE,</p>
<p>true, false, false, false, false, null, null) {</p>
<p>private static final int CURSOR_SIZE = 15;</p>
<p>protected Point getInitialLocation(Point initialSize) { //弹出窗口的初始位置,此处为鼠标的位置</p>
<p>//show popup relative to cursor</p>
<p>Display display = getShell().getDisplay();</p>
<p>Point location = display.getCursorLocation();</p>
<p>location.x += CURSOR_SIZE;</p>
<p>location.y += CURSOR_SIZE;</p>
<p>return location;</p>
<p>}</p>
<p>protected Control createDialogArea(Composite parent) { //创建弹出窗口里的内容</p>
<p>Label label = new Label(parent, SWT.WRAP);</p>
<p>label.setText("Only for test");</p>
<p>label.addFocusListener(new FocusAdapter() {</p>
<p>public void focusLost(FocusEvent event) {</p>
<p>close();</p>
<p>}</p>
<p>});</p>
<p>// Use the compact margins employed by PopupDialog.</p>
<p>GridData gd = new GridData(GridData.BEGINNING</p>
<p>&#73; GridData.FILL_BOTH);</p>
<p>gd.horizontalIndent = PopupDialog.POPUP_HORIZONTALSPACING;</p>
<p>gd.verticalIndent = PopupDialog.POPUP_VERTICALSPACING;</p>
<p>label.setLayoutData(gd);</p>
<p>return label;</p>
<p>}</p>
<p>}.open();//打开对话框</p>
<p>你可以自己设置弹出窗口的内容布局,修改里面的函数就可以了。</p>
<p>0</p>
<p>回答者:</p>
<p><img src="http://www.baidu.com/search/zhidao/zhuti-5year/image/icon1.gif"></p>
<p>双耳猫 - 三级   2010-6-30 15:15</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>谢谢。</p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-7-28 02:01

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表