我正在尝试使用JPanel
在JLabel
上添加控件(JFrame
和JLayeredPane
)。
标签在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();}
如何显示面板控件?
答案 0 :(得分:1)
默认情况下,组件没有位置或大小,这意味着如果将它们添加到没有布局管理器的容器(如JLayeredPane
的情况),它们将不会出现。
由于JLayeredPane
没有布局管理器,因此您必须承担向组件提供位置和尺寸信息的责任。
尝试使用setSize
,setLocation
和/或setBounds
。
详细了解How to use layered panes中的示例。