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`的拖动功能和去除边框。 #### 1. 设置...
在某些场景下,开发者可能需要自定义窗口外观,去除默认的边框和标题,以实现更加简洁或个性化的界面设计。本篇将详细介绍如何在Java中利用`JFrame` 实现无边框无标题的窗口,并提供相关的代码示例。 首先,要创建...
"去除边框"和"最大化最小化关闭按钮"是通过设置JFrame的属性完成的,例如调用`setUndecorated(true)`可以移除边框和标题栏,而隐藏控制按钮通常需要自定义窗口装饰器,以实现更定制化的界面效果。 标签中的"java...
在Java中,可以通过设置JFrame的`setUndecorated(true)`方法来移除窗口边框和标题栏。 其次,支持窗体透明性是一项高级特性,它允许用户看到秒表窗口背后的桌面或者其他应用程序。在Java中,可以使用`setOpaque...
对于桌面应用,如使用Java的Swing或JavaFX,可以利用`JFrame`的`setUndecorated(true)`方法去除边框,然后添加自定义的鼠标监听器,处理窗口的拖拽和大小调整。在C#的WPF中,可以使用`WindowStyle=None`去除边框,...
例如,当用户在窗口边缘按下鼠标并移动时,程序可以检测到这种行为并开始改变窗口的大小。这需要在窗口过程函数中处理WM_NCHITTEST消息,将鼠标位置映射到窗口坐标,并根据位置返回适当的HitTest值,如HTTOP、...
- 通过`setUndecorated(true)`去除默认的边框装饰。 - 通过`setLocation()`设置窗口在屏幕上的位置。 - 通过`setResizable(false)`禁止用户调整窗口大小。 - 通过`setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)`...
通过调用`JFrame`类的`setUndecorated(true)`方法,我们可以去除Java窗口的默认系统边框,使得窗体看起来更加简洁,没有标题栏、最大化、最小化和关闭按钮。 2. **设置窗体内容面板**: 使用`JPanel`作为窗体的...
`setSize(240,320)` 设置窗口大小,`setUndecorated(true)` 去除默认边框,`int H=(int) (this.getHeight() * 0.8)` 计算游戏区域的高度。 2. **图形用户界面**: `import java.awt.*` 和 `import javax.swing.*` ...
无边框窗体是一种特殊的窗体设计,它去除了窗体周围的默认边框,为用户提供更为简洁、美观的界面体验。本实例将深入探讨如何创建和实现无边框窗体,并结合美化和处理重复按键及鼠标操作的方法,来提升用户体验。 ...
无边框窗体是通过设置窗体样式来实现的,例如在C#中,可以通过`FormBorderStyle`属性设置为`None`来去掉窗体的边框。这样,窗体就没有了内置的拖动机制,我们需要自己编写代码来模拟这个功能。 在C#中,我们可以...
- `JWindow`类也用于创建窗口,但它不像`JFrame`那样具有标准的边框和关闭按钮等装饰。`JDialog`用于创建模态对话框,而`JApplet`主要用于创建可以在Web浏览器中运行的小应用程序。 - 因此,对于创建一个标准的带...