`
liugang594
  • 浏览: 981488 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SWT鼠标拖运的支持

阅读更多

对于没有标题栏的Shell,默认是不支持鼠标拖动位置的。不过要想让它支持也是很简单的。如下:

 

		final Point p = new Point(-1, -1);

		Listener l = new Listener() {

			public void handleEvent(Event arg0) {
				switch (arg0.type) {
				case SWT.MouseDown:
					p.x = arg0.x;
					p.y = arg0.y;
					break;
				case SWT.MouseMove:
					if (p.x == -1) {
						break;
					}
					Point point = shell.toDisplay(arg0.x, arg0.y);
					shell.setLocation(point.x - p.x, point.y - p.y);
					break;
				case SWT.MouseUp:
					p.x = -1;
					p.y = -1;
					break;

				default:
					break;
				}
			}
		};
		shell.addListener(SWT.MouseDown, l);
		shell.addListener(SWT.MouseMove, l);
		shell.addListener(SWT.MouseUp, l);

 

这其实做了以下几件事:

1。在鼠标按下时,记住鼠标的相对位置

2。在鼠标是按下状态,移动时,获取新的鼠标位置,与相对位置做计算后,设置新的窗口位置

3。最后释放

 

分享到:
评论

相关推荐

    SWT无边框窗体实现鼠标拖动移动

    SWT无边框窗体实现鼠标拖动移动,并添加右键菜单关闭功能

    java的鼠标键盘钩子程序swt实现

    在"java的鼠标键盘钩子程序swt实现"这个主题中,我们将探讨如何使用SWT来创建这样的钩子程序。 SWT是Eclipse项目的一部分,提供了与Java标准库AWT和Swing不同的GUI组件和功能。它直接与操作系统底层交互,因此可以...

    GPS实时定位,SWT图形界面

    在实现GPS实时定位的SWT界面中,开发者需要集成GPS接收器或者使用支持GPS服务的移动设备,通过API接口获取GPS数据,包括经度、纬度、海拔、速度和时间戳等。然后,这些数据可以显示在SWT界面的文本框、标签或者地图...

    SWT配置 SWT配置 SWT配置 SWT配置 SWT配置

    SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置 SWT配置

    SWT源码 swt.jar

    4. 良好的事件处理机制:SWT支持事件驱动编程,允许开发者响应用户的操作。 5. 跨平台:虽然SWT依赖于特定操作系统的库,但Eclipse项目提供了多个平台的版本,如Windows、Linux、Mac OS等。 在"swt-3.7.2-win32-win...

    swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    64位windows操作系统使用的SWT库

    swt-api swt DOC

    它还支持事件驱动编程模型,使得用户交互的处理变得简单。SWT相对于Java的另一GUI框架AWT(Abstract Window Toolkit)和Swing,其优势在于更接近底层操作系统,从而可以实现更快的运行速度和更好的平台一致性。 ...

    swt教程 有关SWT怎么应用

    此外,SWT还支持事件处理,通过实现监听器接口,可以对用户交互做出响应。 SWT Designer是一个可视化的工具,可以帮助开发者更直观地设计和构建SWT界面,它简化了UI设计过程,使得开发者无需手动编写大量布局和组件...

    swt工具文档 swt工具文档

    5. **兼容性**: SWT支持多种操作系统,如Windows、Linux、macOS等,为跨平台开发提供了便利。 **使用SWT进行开发** 1. **初始化Display和Shell**: 应用程序开始时,首先创建Display对象,然后创建一个或多个Shell...

    swt高级密笈源码swt

    本资源包含的"Sample Code"可能是各种基于SWT的实例代码,这些代码涵盖了SWT的各种组件、布局管理、事件处理、对话框、拖放操作、打印、剪贴板支持等高级主题。通过这些源码,我们可以学习到以下关键知识点: 1. **...

    IBM GUI库SWT教程

    1. **Drag and Drop**:SWT支持拖放操作,允许用户通过鼠标将数据从一个地方移动到另一个地方。开发者需要实现DragSource和DropTarget接口来处理拖放事件。 2. **Accessibility**:为了使应用程序对残障人士友好,...

    SWT examples,SWT官方例子

    SWT examples,SWT官方例子:http://www.eclipse.org/swt/examples.php 该页面所要下载的例子 其中,swt的例子在\plugins\org.eclipse.swt.examples.source_3.7.0.v3740f.jar中

    swt资源释放问题

    每当用户操作鼠标或键盘时,操作系统会根据鼠标单击的位置、当前焦点窗口等信息决定应该把事件放到哪个 GUI 程序的队列中。 在 GUI 程序中,需要用一个循环不停地去读取自己的事件队列,每当检查到有新的事件时,就...

    SWT插件中文教程SWT常用方法

    7. **Table**:表格控件,可以展示多列数据,支持排序和选择。 8. **MenuItem** 和 **Menu**:菜单项和菜单,用于构建应用程序的菜单栏。 此外,SWT还提供了事件处理机制,如监听器接口,如ControlListener、...

    swt学SWT者必备的帮助文档

    此外,SWT还支持拖放操作、打印、对话框、菜单和工具栏等功能。例如,`Menu`类用于创建下拉菜单,`ToolBar`类则用于构建工具栏,这些都能极大地增强应用程序的可用性。 在实际开发中,SWT通常与JFace库结合使用,...

    java界面库swt.jar 4.911

    下载编译的SWT库,版本号4.911,包含多个版本: org.eclipse.swt.cocoa.macosx.x86_64 org.eclipse.swt.gtk.linux.aarch64 org.eclipse.swt.gtk.linux.arm org.eclipse.swt.gtk.linux.ppc64le org.eclipse.swt.gtk....

    SWT API 帮助文档 及源码

    7. **拖放支持(Drag and Drop)**:SWT 支持控件间的拖放操作,开发者可以注册拖放监听器来处理这一过程。 8. **打印支持(Printing)**:SWT 提供了打印API,使得开发者能够将内容打印到物理打印机。 9. **可...

    Swt的API使用说明

    Swt API也支持打印功能,`Printer`和`PrintDialog`类可以用来创建和配置打印任务。 **10. 定时器和计时器** `TimerTask`和`Display.timerExec()`方法可以用于实现定时执行的任务,这对于实现动画效果或者定期检查...

    SWT基础概念总结

    SWT是Eclipse IDE的基础部分,因此在Eclipse中使用SWT开发非常方便,有丰富的插件支持,如图形化的布局编辑器和调试工具。此外,其他IDE如IntelliJ IDEA也通过插件支持SWT开发。 8. **跨平台** 尽管SWT的设计目标...

    SWT 案例之学习精华

    6. **拖放功能**:SWT支持拖放操作,允许用户通过鼠标将数据从一处移动到另一处。这在构建具有文件管理功能的应用时尤其有用。 7. **国际化**:SWT提供了国际化的支持,可以方便地切换不同语言的界面显示,以适应...

Global site tag (gtag.js) - Google Analytics