【发布时间】:2015-08-09 13:45:20
【问题描述】:
我正在开发我的第一个 Java UI,我正在使用CardLayout 在多个面板之间切换。
我有几个按钮,例如退出按钮,在所有卡片中都保持不变。因此,我希望将该按钮及其操作处理程序复制到每个卡片面板,但我不知道该怎么做。它似乎在我添加它的最后一个面板上,这意味着我必须多次重复那个按钮的代码,这感觉不对。
有谁知道在多个面板/卡片上重用JPanel 或JButton 组件的方法?
【问题讨论】:
-
" 因此,我希望将该按钮及其操作处理程序复制到每个卡片面板," 更好的策略是将这些常用组件 移出 /i>(在
CardLayout的上方、下方、左侧或右侧),一种方法是将具有卡片布局的面板放入另一个具有BorderLayout的面板的CENTER中,然后将公共面板中的组件并将其添加到边框布局的PAGE_START或PAGE_END。 -
请看最后一个尝试add ActionListener to JButton 的示例。这里使用Action,而不是
ActionListener,这基本上有助于代码的可重用性。
标签: java swing jpanel layout-manager cardlayout