`

几行代码搞定Java桌面应用程序界面的拖动问题

阅读更多

     有时我们想让鼠标点击Java桌面应用程序界面的任何地方都能实现拖动功能,而不止限于标题栏,下面几行代码就能实现之,其实很简单,只需将当前界面的坐标加上鼠标移动的距离即可.

 

     首先写一个类,继承MouseListener, MouseMotionListener,其他方法体里面不需要写代码,只需在mousePressed()和mouseDragged()方法里写些代码即可(省略了部分代码):

 

	int startX ,startY;
 
 	Component c;	
	
	public DraggingListener(Component c) {
 		this.c = c;
 	}
	
	public void mousePressed(MouseEvent e) {
		startX = e.getX();//开始移动时界面左上角X坐标
		startY = e.getY();//开始移动时界面左上角Y坐标
	}
	public void mouseDragged(MouseEvent e) {
		Point p = e.getPoint();
		int addX = p.x - startX;//X轴上移动的距离
		int addY = p.y - startY;//X轴上移动的距离
		Point old = c.getLocation();
		c.setLocation(old.x + addX, old.y + addY);
	}

 

然后为你的主框架注册事件监听器:

 

 

DraggingListener listener = new DraggingListener(this);
this.addMouseListener(listener);
this.addMouseMotionListener(listener);

 

 

OVER!!

 

 

分享到:
评论

相关推荐

    机票预订系统界面代码(java)

    总的来说,这个机票预订系统界面代码项目提供了一个实践Java GUI编程的实例,涵盖了用户界面设计、事件处理、数据管理等多个方面,对于学习Java桌面应用开发的开发者来说,是一个非常有价值的参考资源。通过分析和...

    java桌面抓取程序

    ### Java桌面抓取程序知识点详解 #### 一、概述 本文档主要介绍了一个基于Java的简单桌面抓取程序。该程序能够捕获当前计算机屏幕的画面,并将其保存为图像文件。程序利用了Java AWT(Abstract Window Toolkit)和...

    借助浏览器控件利用CSS和JavaScript设计Java桌面程序界面

    这个主题的核心就是如何将浏览器控件嵌入到Java应用程序中,使得我们可以利用Web页面的设计能力来设计Java桌面程序的界面。这通常涉及到Java的JavaFX库或者早期的JEditorPane和JWebPane组件。 首先,JavaFX提供了...

    eclipse 开发桌面程序

    这些操作将自动生成对应的Java代码。 4. **编写逻辑**:根据应用程序需求,在自动生成的代码基础上添加业务逻辑处理。 5. **调试测试**:运行程序并进行调试,确保一切正常工作。 #### 六、总结 通过对AWT、...

    ireport与java 桌面应用,web应用

    标题中的“ireport与java 桌面应用,web应用”揭示了本次讨论的核心主题,即如何使用ireport工具在Java环境下开发桌面应用程序和Web应用程序的报表功能。ireport是JasperReports库的一个图形化设计工具,允许开发者...

    java小程序之简单学生信息录入界面

    在Java编程领域,开发用户界面是一项重要的任务,尤其是在创建应用程序时。本项目“java小程序之简单学生信息录入界面”展示了如何使用Java控件Windows Builder来设计一个直观且易于操作的界面,以实现学生信息的...

    C++,C#,Java,Python实现简单的图形用户界面的区别和方法

    Windows Forms是一套完整的GUI开发框架,提供了丰富的控件集和工具支持,非常适合快速构建桌面应用程序。 **开发流程:** 1. **环境搭建**:使用Visual Studio作为开发环境。 2. **UI设计**:通过拖拽控件的方式...

    远程桌面控制程序完整代码,直接运行可用

    远程桌面控制程序是一种允许用户通过网络访问并控制另一台计算机的应用程序。在这个场景中,我们讨论的是一个基于Java实现的远程桌面控制程序,名为"remotecontrol",它承诺提供流畅且无卡顿的用户体验。下面将详细...

    Java绘图板源码 画图源代码 Swing

    本项目是一个基于Swing实现的绘图板应用,具备基本的绘图和编辑功能,适合用于Java程序设计课程设计或者作为初学者学习Swing GUI编程的实例。 首先,让我们详细探讨Swing库。Swing是Java Foundation Classes (JFC) ...

    java 图形界面GUI代码

    Java图形用户界面(GUI)是Java编程中一个重要的部分,用于创建交互式的、可视化的应用程序。GUI允许用户通过鼠标和键盘等输入设备与程序进行交互,使得程序更加友好且易于操作。下面,我们将深入探讨Java GUI开发的...

    微信小程序仿支付宝应用管理,首页应用图标长按拖动排序,移除

    在微信小程序开发中,我们可以创建类似支付宝的应用管理功能,让用户能够自定义首页应用图标的排列顺序,甚至可以移除不需要的应用。这个功能提高了用户体验,使用户可以根据个人习惯和需求定制化自己的小程序界面。...

    VS2005应用程序界面美化c#界面美化

    在C#编程中,开发人员经常需要创建具有吸引力和用户友好性的应用程序界面。"VS2005应用程序界面美化c#界面美化"这个主题聚焦于如何利用Visual Studio 2005来提升C#应用程序的视觉效果。在这个教程中,我们将深入探讨...

    Qt 从应用程序拖动文件到其他地方。

    Qt 从应用程序拖动文件到其他地方。

    Android类似桌面应用拖动的GridView

    "Android类似桌面应用拖动的GridView"是指一个特殊定制的GridView,它模仿了Android桌面应用的交互方式,允许用户通过拖放操作来改变GridView中各个元素的位置。这种功能在创建自定义启动器、文件管理器或个性化布局...

    《Java程序设计实用教程(第5版)》 作者:叶核亚 示例代码

    Swing是Java提供的一种轻量级GUI框架,用于创建丰富的桌面应用程序。 8. **TCP Socket编程**:`09.2 TCP Socket【例9.1】同步画图`涉及到网络编程,TCP Socket是Java中进行网络通信的基础,例子可能展示了如何通过...

    java swing 远程桌面程序

    Java Swing 远程桌面程序是一种基于Java编程语言的桌面应用程序,它允许用户通过网络连接远程控制另一台计算机的桌面环境。在这个项目中,开发者利用了开源库jrdesktop来实现远程桌面的功能。Java Swing是Java标准版...

    图片浏览JAVA应用测试程序

    1. **Swing或JavaFX**: Java提供了两种主要的GUI(图形用户界面)库,Swing和JavaFX,用于创建桌面应用程序。图片浏览应用通常会用到这些库来构建用户界面,包括按钮、滚动条、面板等组件,以便用户可以导航和操作...

    基于Java的实例源码-桌面程序开发框架 Viewa.zip

    【标题】"基于Java的实例源码-桌面程序开发框架 Viewa.zip" 指的是一种使用Java语言开发的桌面应用程序框架,名为Viewa。这个框架可能是为了简化和加速Java桌面应用的开发流程,提供了丰富的组件和工具,帮助开发者...

    C#不调用API简单几行代码实现无边框窗体拖动

    ### C#实现无边框窗体拖动技术详解 #### 技术背景 在Windows应用程序开发过程中,有时候我们...通过监听鼠标事件并结合简单的坐标计算,可以轻松地实现无边框窗体的自由拖动,满足了开发者对于界面设计灵活性的需求。

    Winform拖动无标题栏窗体(C# 添加几行代码即可)

    ### Winform拖动无标题栏窗体(C# 添加几行代码即可) 在Windows Forms(WinForms)应用程序开发中,有时我们需要创建一个没有标准标题栏的自定义窗口,以实现更加美观或者灵活的设计需求。然而,当窗体移除了标题栏...

Global site tag (gtag.js) - Google Analytics