`

去掉JFrame窗口边框之后的移动

    博客分类:
  • Java
 
阅读更多
class MoveListener extends MouseAdapter {
		int x0, y0, x1, y1;

		public void mousePressed(MouseEvent e) {
			x0 = e.getXOnScreen();
			y0 = e.getYOnScreen();
		}

		public void mouseDragged(MouseEvent e) {
			if (!isMax) {// 不是最大化的时候才可以移动
				x1 = e.getXOnScreen();
				y1 = e.getYOnScreen();

				if (x1 != x0 || y1 != y0) {
					Point p = ChatUI.this.getLocation();
					double px = p.getX();
					double py = p.getY();

					ChatUI.this.setLocation((int) (px + (x1 - x0)),
							(int) (py + (y1 - y0)));
					x0 = x1;
					y0 = y1;
				}
			}
		}
	}

 将这个监听器加到某个面板,点击这个面板就可以移动.

典型示例:QQ登陆窗口的移动.

分享到:
评论

相关推荐

    JFrame拖动&&去边框

    为了使`JFrame`窗口具备更灵活的交互特性,例如实现窗口的自由拖动以及去除系统默认的边框样式,开发者需要进行一定的自定义设置。下面将详细介绍如何通过代码实现`JFrame`的拖动功能和去除边框。 #### 1. 设置...

    Java中JFrame实现无边框无标题方法

    在某些场景下,开发者可能需要自定义窗口外观,去除默认的边框和标题,以实现更加简洁或个性化的界面设计。本篇将详细介绍如何在Java中利用`JFrame` 实现无边框无标题的窗口,并提供相关的代码示例。 首先,要创建...

    java写的一个流星雨小程序【全屏版】

    "去除边框"和"最大化最小化关闭按钮"是通过设置JFrame的属性完成的,例如调用`setUndecorated(true)`可以移除边框和标题栏,而隐藏控制按钮通常需要自定义窗口装饰器,以实现更定制化的界面效果。 标签中的"java...

    Java swing秒表

    在Java中,可以通过设置JFrame的`setUndecorated(true)`方法来移除窗口边框和标题栏。 其次,支持窗体透明性是一项高级特性,它允许用户看到秒表窗口背后的桌面或者其他应用程序。在Java中,可以使用`setOpaque...

    无边框页面拖拽拉大代码

    对于桌面应用,如使用Java的Swing或JavaFX,可以利用`JFrame`的`setUndecorated(true)`方法去除边框,然后添加自定义的鼠标监听器,处理窗口的拖拽和大小调整。在C#的WPF中,可以使用`WindowStyle=None`去除边框,...

    计算机软件-商业源码-实例70 实现可缩放的无标题窗体.zip

    例如,当用户在窗口边缘按下鼠标并移动时,程序可以检测到这种行为并开始改变窗口的大小。这需要在窗口过程函数中处理WM_NCHITTEST消息,将鼠标位置映射到窗口坐标,并根据位置返回适当的HitTest值,如HTTOP、...

    俄罗斯方块java源码

    - 通过`setUndecorated(true)`去除默认的边框装饰。 - 通过`setLocation()`设置窗口在屏幕上的位置。 - 通过`setResizable(false)`禁止用户调整窗口大小。 - 通过`setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)`...

    java绘制自定义窗体.docx

    通过调用`JFrame`类的`setUndecorated(true)`方法,我们可以去除Java窗口的默认系统边框,使得窗体看起来更加简洁,没有标题栏、最大化、最小化和关闭按钮。 2. **设置窗体内容面板**: 使用`JPanel`作为窗体的...

    俄罗斯方块java代码[宝典].doc

    `setSize(240,320)` 设置窗口大小,`setUndecorated(true)` 去除默认边框,`int H=(int) (this.getHeight() * 0.8)` 计算游戏区域的高度。 2. **图形用户界面**: `import java.awt.*` 和 `import javax.swing.*` ...

    无边框窗体实例

    无边框窗体是一种特殊的窗体设计,它去除了窗体周围的默认边框,为用户提供更为简洁、美观的界面体验。本实例将深入探讨如何创建和实现无边框窗体,并结合美化和处理重复按键及鼠标操作的方法,来提升用户体验。 ...

    无边框窗体的拖动

    无边框窗体是通过设置窗体样式来实现的,例如在C#中,可以通过`FormBorderStyle`属性设置为`None`来去掉窗体的边框。这样,窗体就没有了内置的拖动机制,我们需要自己编写代码来模拟这个功能。 在C#中,我们可以...

    2021-2022计算机二级等级考试试题及答案No.1236.docx

    - `JWindow`类也用于创建窗口,但它不像`JFrame`那样具有标准的边框和关闭按钮等装饰。`JDialog`用于创建模态对话框,而`JApplet`主要用于创建可以在Web浏览器中运行的小应用程序。 - 因此,对于创建一个标准的带...

Global site tag (gtag.js) - Google Analytics