我正在动态创建一个 JList,我想在不同的 JPanel 上使用它,在那里我可以调用 setQuery(query); 在上面。也有一个 Search Button + 字段连接到它。有没有办法将 JList、搜索按钮和搜索字段放在 10 个不同的面板上,而不必到处复制代码?我不能将它放在单独的 JPanel 上,因为它周围还有其他按钮/gui 元素,具体取决于所显示的 JPanel。我到处寻找,但没有太多提及重用动态 JList。
问问题
288 次
2 回答
3
您只能将组件放置在一个可视化容器中。考虑创建一个为您创建这些组件的方法,该方法返回一个包含组件的 JPanel,并且可能所有创建的 JList 共享相同的 ListModel,所有 JButton 共享相同的 AbstractAction。
或者另一种选择,如果您使用 CardLayout 来交换 JPanel,并且您希望所有面板都包含上面的这些组件,请考虑不这样做,而是将 JList、JButton 和 JTextField 移出卡片并移到动态较少的部分你的图形用户界面。
另外,我不清楚:
我不能将它放在单独的 JPanel 上,因为它周围还有其他按钮/gui 元素,具体取决于所显示的 JPanel。
请澄清并告诉我们更多信息。图片也可能有帮助。
于 2012-04-24T17:41:59.677 回答
2
Also consider the decorator pattern Your list/search panel would be the main component, while the variations would result from decorating the original.
于 2012-04-24T23:15:45.423 回答