java-将JDialog移近某个位置时,使其粘在另一个上

我正在尝试重现在多个应用程序中看到的功能:
我有一个带有几个JDialogs的GUI应用程序.
我想轻松地将它们紧密地组织在屏幕上:
当我移动一个JDialog时,其边框之一“关闭”(例如,在5像素以内)到另一个JDialog,我希望它自动捕捉并沿其正确粘贴.

知道如何实现吗?

解决方法:

将ComponentListener添加到对话框中,并监听comopnentMoved()事件.

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

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

上一篇:java – JOptionPane按钮和自定义面板之间的通信


下一篇:PHP EduCoder答案 PHP实现下拉菜单显示数据 下