Java 与JDialog共享JPanel

Java 与JDialog共享JPanel,java,swing,user-interface,jpanel,jdialog,Java,Swing,User Interface,Jpanel,Jdialog,我试图在JDialog中重用一个JPanel,而不是复制另一个具有确切特性的JPanel。我尝试删除该组件并将其添加到JDialog中,但它没有像我预期的那样工作。解决这个问题的推荐方法是什么?编写一个类“myFeaturesJPanel”,扩展具有所需功能的jPanel。然后只需将自己的实例添加到popUpPanel和原始面板中即可获得帮助。您是否要同时在两个位置使用该面板?这不起作用,因为组件只能有一个父级。另一方面,如果在运行时添加和删除组件,则需要revalidate()和repaint

我试图在JDialog中重用一个JPanel,而不是复制另一个具有确切特性的JPanel。我尝试删除该组件并将其添加到JDialog中,但它没有像我预期的那样工作。解决这个问题的推荐方法是什么?

编写一个类“myFeaturesJPanel”,扩展具有所需功能的jPanel。然后只需将自己的实例添加到popUpPanel和原始面板中即可获得帮助。您是否要同时在两个位置使用该面板?这不起作用,因为组件只能有一个父级。另一方面,如果在运行时添加和删除组件,则需要
revalidate()
repaint()
容器。@kiheru我正在尝试后一种方法。revalidate()和repaint()比复制和粘贴JPanel更有效吗?你能用代码详细说明一下吗?我不明白这个问题。如果从可见容器中添加或删除组件,则需要重新验证。我不知道你想做什么;您还可能遇到使用a更合适的情况。请添加一个最小的、可运行的示例。