如何限制桌面屏幕中的摇摆 Jframe?

Posted

技术标签:

【中文标题】如何限制桌面屏幕中的摇摆 Jframe?【英文标题】:How to restrict swing Jframe in desktop screen? 【发布时间】:2016-07-28 00:32:17 【问题描述】:

我是 J2SE 新手,我正在使用 Java Swing 创建 J2SE 应用程序。 JFrame 可以在屏幕上的任何位置选择和拖动,但我想限制框架不要从桌面屏幕伸出。

如何强制执行拖拽限制?

注意:代码必须适用于所有类型的操作系统(Window、Linux、Mac)

我从网上找到了帮助,但该代码并非所有类型的操作系统都支持

【问题讨论】:

到目前为止你得到了什么?不要只是“从网上复制代码”,而是自己编写。 BTW,你用的是什么书?如果它显示“J2SE”,请更新。 J2SE 在 2006 年初就过时了 为什么要限制框架被移出桌面?对我来说,这似乎是一种操作系统功能,可能并非每个平台都支持(取决于您所说的“所有类型的操作系统”) 而且,如果用户不想要这个怎么办?如果他们有多个显示器或虚拟桌面怎么办? “我在这里等待解决方案而不是建议”大声笑 “但我想限制我的框架” 如果它是你的应用程序。在 my 机器上运行并占用 my 屏幕空间,是什么让你认为它是 your 框架(任何更长)?顺便说一句 - 在这种情况下,my 屏幕上 my 框架的所有这些移动限制实际上对 me, 最终用户?为什么想要那个..feature? 【参考方案1】:

你需要知道屏幕的大小和 JFrame 的大小。

Toolkit.getDefaultToolkit().getScreenSize();

使用线程扫描屏幕上 JFrame 的位置。不断地 / 守护进程

Find the location/Position of JFrame in the window

如果用户到达屏幕的角落,请做一些数学运算。将您的 JFrame 设置为最新的有效位置或屏幕中心。

How to set JFrame to appear centered, regardless of monitor resolution?

出于对理智的热爱,不要这样做。让用户把它移到哪里 他想要它。如果有任何软件对我这样做,我会考虑 边缘恶意软件因为我使用多显示器设置,这不是 我可以接受。

【讨论】:

以上是关于如何限制桌面屏幕中的摇摆 Jframe?的主要内容,如果未能解决你的问题,请参考以下文章

创建第一个界面程序

视频会议如何共享文档?

在摇摆中绑定组合框

如何在摇摆中的假if语句后连续闪烁表格单元格

JFrame 和可见性:淡出和获取屏幕截图的问题

全屏Java中的JFrame