【发布时间】:2011-07-26 01:31:27
【问题描述】:
我正在尝试重现我在多个应用中看到的功能: 我有一个带有几个 JDialogs 的 GUI 应用程序。 我想在屏幕上轻松地组织它们: 当我移动一个 JDialog,并且它的一个边框与另一个 JDialog “接近”(例如,在 5 个像素内)时,我希望它能够自动对齐并沿着它粘贴。
知道如何实现吗?
【问题讨论】:
标签: java user-interface jdialog
我正在尝试重现我在多个应用中看到的功能: 我有一个带有几个 JDialogs 的 GUI 应用程序。 我想在屏幕上轻松地组织它们: 当我移动一个 JDialog,并且它的一个边框与另一个 JDialog “接近”(例如,在 5 个像素内)时,我希望它能够自动对齐并沿着它粘贴。
知道如何实现吗?
【问题讨论】:
标签: java user-interface jdialog
在对话框中添加一个 ComponentListener 并监听 comopnentMoved() 事件。
您可以使用 Window.getWindows() 方法获取所有 Windows。然后你遍历 Windows 并获取每个窗口的边界。每当您靠近窗口时,您都可以手动设置要移动的窗口的大小。
当然,当您想将窗口从另一个窗口移开时,您还需要处理这种情况,因此您可能需要为每个 componentMoved 事件启动一个 Timer,并且仅在事件停止生成后手动定位窗口。
【讨论】: