如何限制桌面屏幕中的摇摆 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?的主要内容,如果未能解决你的问题,请参考以下文章