2015-08-21 88 views
1

我使用JLabel将背景图像添加到JFrame。但是在面板中还有其他JLabel添加到特定的JFrame中。在整个JFrame中添加此背景图像后,其他JLabel不可见。我如何让它们可见?使用JLabel将背景图像添加到JFrame

+1

你能否提供[minmal,working example](http://stackoverflow.com/help/mcve)? – Mischback

+0

@Pahan Madusha你可以考虑不使用JLabel添加背景图片。如果我是你,我会将它添加到JPanel上。在JPanel上显示图像。之后,将其他组件添加到JPanel。之后,将JPanel添加到您的JFrame中。 – user3437460

回答

2

有几个选项:

  1. 请选择JLabel不透明,使其contentPane中,给它一个体面的布局,给它一个体面的getPreferredSize()覆盖有意义您的问题(JLabel的自身覆盖此背景下方法不适用于您,因为它取决于标签所保留的文本和图标,而不是添加的组件)。
  2. 然后添加其他组件到它 - JLabel。

或者:

  1. 使用一个JPanel作为背景图像显示器
  2. 显示在其paintComponent(...)方法重写的图像。
  3. 给它一个体面的布局管理器,如果需要,可以覆盖getPreferredSize()

另外:一些添加的组分,如其他JPanels,被设定成非不透明

  • 保重。