Java 容器在使组件可见之前将其移除

Java 容器在使组件可见之前将其移除,java,swing,user-interface,jcombobox,jcomponent,Java,Swing,User Interface,Jcombobox,Jcomponent,我正在开发一个包含很多组件的大型应用程序。我试图在一个地方添加一个组合框,而容器在该组件可见之前将其移除。我读了一些关于JavaSwing验证和删除组件的文章,如果该组件被放在其他地方。这到底是怎么回事 很抱歉,我想这个问题太突然了,我无法提供任何代码 p.S.检查了组件、面板和容器的所有属性,没有任何影响组件可见性的内容 我从来没有看到容器在组件可见之前删除它,你是如何调试的,调试的内容是什么,你确定JComboBox被添加到了预期的可见容器中吗,顺便说一句,有很多关于如何在运行时添加/删除J

我正在开发一个包含很多组件的大型应用程序。我试图在一个地方添加一个组合框,而容器在该组件可见之前将其移除。我读了一些关于JavaSwing验证和删除组件的文章,如果该组件被放在其他地方。这到底是怎么回事

很抱歉,我想这个问题太突然了,我无法提供任何代码


p.S.检查了组件、面板和容器的所有属性,没有任何影响组件可见性的内容

我从来没有看到
容器在组件可见之前删除它,你是如何调试的,调试的内容是什么,你确定JComboBox被添加到了预期的可见容器中吗,顺便说一句,有很多关于
如何在运行时添加/删除JComponent的线程。
是上一篇/最近一篇文章的指南,

您读到的是,您只能将组件添加到一个可视化容器中。如果将组件添加到多个容器中,它将仅在其中一个容器中显示。除此之外,Swing不会从容器中随机删除组件,因此,如果我提到的第一件事不是您的问题,那么您的程序中有一个bug,我们需要查看代码来确定它是什么。最好是您可以创建并发布一个

是的,我确信JComboBox已添加到正确的可见容器中。虽然有多个线程在处理它。您的链接非常有用。您是否调试getBounds返回的位置、方式和内容以及是否在可见矩形中…@arpanoid:您不应该有多个线程访问您的组合框。只有事件分派线程才能访问它。看见