Java 在CardLayout等中使用带有actionlisteners的动态JList

Java 在CardLayout等中使用带有actionlisteners的动态JList,java,swing,jlist,cardlayout,Java,Swing,Jlist,Cardlayout,我正在动态创建一个JList,我想在不同的jpanel上使用它,在那里我可以调用setQuery(query);在上面。还有一个搜索按钮+字段连接到它。是否有一种方法可以将JList、搜索按钮和搜索字段放置在10个不同的面板上,而不必到处复制代码?我不能把它放在一个单独的JPanel上,因为它周围有其他按钮/gui元素,这取决于JPanel显示的内容。我到处都看过,但是没有提到重用动态JList。您只能将组件放置在一个可视化容器中。考虑创建一个为您创建这些组件的方法,该方法返回包含组件的JPAN

我正在动态创建一个JList,我想在不同的jpanel上使用它,在那里我可以调用setQuery(query);在上面。还有一个搜索按钮+字段连接到它。是否有一种方法可以将JList、搜索按钮和搜索字段放置在10个不同的面板上,而不必到处复制代码?我不能把它放在一个单独的JPanel上,因为它周围有其他按钮/gui元素,这取决于JPanel显示的内容。我到处都看过,但是没有提到重用动态JList。

您只能将组件放置在一个可视化容器中。考虑创建一个为您创建这些组件的方法,该方法返回包含组件的JPAND,并且可能所有已创建的JLIST共享相同的ListMead,并且所有的JButtons都是相同的抽象动作。

或另一个选项,如果您使用CARDePayl来交换JStand,并且您希望所有的面板都保持上面的这些组件,那么请考虑不要这样做,而是将卡列表中的JLIST、JButK和JTutfield移动到GUI中的一个不太动态的部分。 此外,我不清楚这一点:

我不能把它放在一个单独的JPanel上,因为它周围有其他按钮/gui元素,这取决于JPanel显示的内容


请澄清并告诉我们更多。图像也可能有帮助。

也可以考虑你的列表/搜索面板是主要的组成部分,而这些变化是由装饰原件造成的。

请提供一个ASCII艺术或图画,显示GUI应该如何与一个“10个不同的面板”一起排列,另一个显示额外的空间是如何分配的。(即,什么垂直拉伸?什么横向拉伸?)。另请参见。