JLayeredPane与JPanel和JLabel与Icon

时间:2013-05-09 06:18:40

标签: java swing jpanel jlayeredpane

我正在尝试使用JPanelJLabel上添加控件(JFrameJLayeredPane)。

标签在ImageIcon的帮助下拥有背景图片,面板上有按钮控件。它显示了带有背景图像的jlabel

但是没有显示面板控件。我使用以下代码。

   try
  {
  JLayeredPane layers= new JLayeredPane();
  ImageIcon img1= ImageIcon("path upto image");
  JLabel l1= new JLabel("");
  l1.setIcon(img1);


  JPanel panel1   = new JPanel();

   layers.add(l1);
  layers.add(panel1);

  add(layers);
 }
catch(Exception ex){ex.printStackTrace();}

如何显示面板控件?

1 个答案:

答案 0 :(得分:1)

默认情况下,组件没有位置或大小,这意味着如果将它们添加到没有布局管理器的容器(如JLayeredPane的情况),它们将不会出现。

由于JLayeredPane没有布局管理器,因此您必须承担向组件提供位置和尺寸信息的责任。

尝试使用setSizesetLocation和/或setBounds

详细了解How to use layered panes中的示例。