使用 JLabel 将背景图像添加到 JFrame
Adding a background image to JFrame using JLabel
我使用 JLabel 向 JFrame 添加了背景图像。但是面板中还有其他 JLabel 添加到特定的 JFrame。在整个 JFrame 中添加此背景图像后,其他 JLabel 将不可见。我如何让它们可见?
几个选项:
- 使 JLabel 不透明并使其成为 contentPane,为其提供合适的布局,为其提供合适的
getPreferredSize()
覆盖,这在您的问题上下文中有意义(JLabel 自己对此方法的覆盖不会适合您,因为它取决于标签包含的文本和图标,而不是添加的组件)。
- 然后将其他组件添加到它 -- 到 JLabel。
或者:
- 使用 JPanel 作为背景图片显示器
- 在其
paintComponent(...)
方法覆盖中显示图像。
- 给它合适的布局管理器,如果需要,
getPreferredSize()
覆盖。
另外:
- 注意将一些添加的组件(例如其他 JPanel)设置为非不透明。
我使用 JLabel 向 JFrame 添加了背景图像。但是面板中还有其他 JLabel 添加到特定的 JFrame。在整个 JFrame 中添加此背景图像后,其他 JLabel 将不可见。我如何让它们可见?
几个选项:
- 使 JLabel 不透明并使其成为 contentPane,为其提供合适的布局,为其提供合适的
getPreferredSize()
覆盖,这在您的问题上下文中有意义(JLabel 自己对此方法的覆盖不会适合您,因为它取决于标签包含的文本和图标,而不是添加的组件)。 - 然后将其他组件添加到它 -- 到 JLabel。
或者:
- 使用 JPanel 作为背景图片显示器
- 在其
paintComponent(...)
方法覆盖中显示图像。 - 给它合适的布局管理器,如果需要,
getPreferredSize()
覆盖。
另外:
- 注意将一些添加的组件(例如其他 JPanel)设置为非不透明。