【问题标题】:Make a JDialog stick or snap to another one when moving it close to it将 JDialog 靠近另一个 JDialog 时使其粘住或吸附到另一个
【发布时间】:2011-07-26 01:31:27
【问题描述】:

我正在尝试重现我在多个应用中看到的功能: 我有一个带有几个 JDialogs 的 GUI 应用程序。 我想在屏幕上轻松地组织它们: 当我移动一个 JDialog,并且它的一个边框与另一个 JDialog “接近”(例如,在 5 个像素内)时,我希望它能够自动对齐并沿着它粘贴。

知道如何实现吗?

【问题讨论】:

    标签: java user-interface jdialog


    【解决方案1】:

    在对话框中添加一个 ComponentListener 并监听 comopnentMoved() 事件。

    您可以使用 Window.getWindows() 方法获取所有 Windows。然后你遍历 Windows 并获取每个窗口的边界。每当您靠近窗口时,您都可以手动设置要移动的窗口的大小。

    当然,当您想将窗口从另一个窗口移开时,您还需要处理这种情况,因此您可能需要为每个 componentMoved 事件启动一个 Timer,并且仅在事件停止生成后手动定位窗口。

    【讨论】:

    • 这就是主意。我必须解决的几件事:当心设置为不可见的窗口,如果您有很多小窗口,请小心识别应该“交互”的两个窗口......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多