`
liugang594
  • 浏览: 990753 次
  • 性别: 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-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    在实际开发中,开发者可以使用Eclipse IDE,因为它内置了对SWT的支持,使得创建和调试SWT应用程序变得更加容易。Eclipse插件开发也广泛依赖SWT,因为它允许开发者创建与Eclipse集成紧密的自定义视图和编辑器。 总结...

    GPS实时定位,SWT图形界面

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

    SWT源码 swt.jar

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

    SWT JFace 按键、事件、监听

    通过以上介绍,我们可以看出SWT为开发者提供了一套全面的键盘和鼠标事件处理机制,这对于构建功能丰富且用户体验良好的应用程序来说是非常重要的。开发者可以根据不同的需求选择合适的事件监听器,以实现所需的功能...

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

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

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

    ### SWT配置详解 #### 一、SWT简介与配置的重要性 SWT(Standard Widget Toolkit)是一种用于构建基于Java的应用程序的图形用户界面工具包。它提供了丰富的控件集,并能够生成本地外观和感觉的界面,这使得应用在...

    swt-api swt DOC

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

    swt教程 有关SWT怎么应用

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

    swt事件处理的编码实现

    在SWT中,我们可以通过实现`MouseListener`接口来监听鼠标事件。`MouseListener`接口包含三个方法:`mouseDown()`, `mouseUp()`, 和 `mouseDoubleClick()`。在这个例子中,我们关心的是`mouseDoubleClick()`方法。...

    SWT_全接触 SWT_全接触 SWT_全接触

    4. **社区支持**:相对于AWT和Swing,SWT的社区支持稍弱,这意味着在遇到问题时可能难以找到解决方案。 ### SWT入门 #### HelloWorld示例解析 以下是对SWT HelloWorld示例的详细解析: ```java import org....

    java swt自定义控件

    Java SWT(Standard Widget Toolkit)是Java平台上用于创建桌面应用程序的一个库,它提供了丰富的用户界面元素,如按钮、文本框、列表等。SWT是Eclipse IDE的基础,它通过与操作系统直接交互来提供本地化的图形用户...

    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**:为了使应用程序对残障人士友好,...

    Eclipse SWT 开发参考

    SWT采用了事件驱动模型,支持多种类型的事件,如鼠标事件、键盘事件等。开发者可以通过监听器模式来响应这些事件。 #### 7. 应用SWT绘制2D图像 SWT提供了强大的绘图能力,支持基本的2D图形绘制,如线条、矩形、圆...

    SWT 插件包 (windows 环境)

    首先,你需要确保你的开发环境是基于Java的,并且是32位的,因为这个SWT版本不支持64位系统。然后,你可以按照以下步骤操作: 1. **下载SWT库**:将"swt.jar"文件从压缩包中提取出来。 2. **导入库**:在你的...

    swt教程——java

    SWT支持各种类型的事件,如鼠标点击、键盘输入、窗口关闭等,事件处理机制是实现动态、响应式GUI的关键。 #### 结语 通过上述分析,我们对SWT在Java图形用户界面开发中的作用和实践有了更全面的认识。无论是基础的...

    swt.jar swt.jar swt.jar

    swt.jar swt.jar swt.jar swt.jar swt.jar

    swt资源释放问题

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

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

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

Global site tag (gtag.js) - Google Analytics