Java SWing中如何通过双击使子对话框从父窗口中弹出并嵌入到父窗口中?
Posted
技术标签:
【中文标题】Java SWing中如何通过双击使子对话框从父窗口中弹出并嵌入到父窗口中?【英文标题】:How to make child dialog popped-up from and embedded into the parent window by double clicking it in Java SWing? 【发布时间】:2010-09-27 08:10:06 【问题描述】:我想要一个带有多个子窗口小部件的主窗口,并且我希望子窗口小部件同时显示在主框架中,并且它们可以相互协调以通过主窗口进行布局 窗口区域。当我双击子小部件时,它会弹出,再次双击时,它可以嵌入回来。 我之前在QT中通过QDockWidget做过这个,我知道JavaDocking框架可以做到这一点,但是我想知道是否可以只通过SWing框架来完成?
【问题讨论】:
【参考方案1】:如果您要求功能齐全的对接,您可能应该编辑您的问题标题以反映这一点。
停靠非常复杂,因为它涉及动态布局、拖放和许多其他事情。您可以自己滚动,基本上是嵌套 JSplitPane
和 JTabbedPane
以及很多时间。
除了JavaDocking,考虑开源(MIT 许可)FlexDock,或商业JIDE Docking。
【讨论】:
感谢您的帮助!我现在要做的只是弹出一个窗口并将其嵌入回主窗口。您能否提供一些直接的指导?如果这个问题很幼稚,我很抱歉。至于特色对接,现在不是重点,以后再深入探讨。 请编辑您的问题以准确解释“将其嵌入”的含义,以及您希望用户如何执行此操作(单击按钮?)。显然你不能把JDialog
放在JWindow
里面。
感谢您的 cmets。我已经编辑了我的问题。 “嵌入回来”是指当用户双击它可以将其嵌入回主窗口框架。
你的意思是当你双击一个小部件时,它被“最大化”以占用窗口中的所有空间,然后再次双击它恢复到以前的大小,如蚀?大多数停靠框架都可以做到这一点,或者如果这是您唯一想要的,那么在小部件最大化时移除其他小部件并在恢复时将它们添加回来并不难。以上是关于Java SWing中如何通过双击使子对话框从父窗口中弹出并嵌入到父窗口中?的主要内容,如果未能解决你的问题,请参考以下文章