【发布时间】:2018-07-15 20:16:07
【问题描述】:
我正在尝试在 java 中创建自己的图形组件。 我希望他能有不同类型的展示:
- 表示 JPanel 的显示,在中心包含一个 JLabel(图 1)
- 表示具有 GridLayout (3,3) 的 JPanel 的显示。在这个 JPanel 中将有 9 个 JPanel。其中一些可能在中心包含 JLabel(图 2 和图 3)。
所以我想知道如何进行:我应该扩展 JComponent 还是 JPanel ..? 我还希望能够从一个显示器转到另一个显示器,即执行 actionPerformed,以便能够通过简单的方法调用来修改组件的视图。
我还没有代码,我只是在寻找开始这个课程的轨道。提前谢谢你!
【问题讨论】:
-
“所以我想知道如何进行:我应该扩展 JComponent 还是 JPanel ..?” - 这很大程度上取决于您希望如何管理代码。例如,您可以通过工厂方法简单地创建面板,它只是实例化
JPanel并设置组件。如果标签/组件需要额外的功能(例如监视鼠标),那么自定义组件可能会很合适,因为它封装了功能并使其更易于重用。您还应该考虑是否有任何他们都共享的“通用”功能 -
“我还希望能够从一个显示器转到另一个显示器,即,按照 actionPerformed” - 然后我建议看看
CardLayout,它将允许您在不同的视图之间轻松切换