Java JScrollPane-多个组件

Mik*_*ike 2 java swing jscrollpane

我正在尝试在JScrollPane中添加2个图像.第一个图像是背景,第二个图像与第一个图像重叠.当我运行程序时,问题只显示第二个图像!

请帮忙

ImageIcon ii = new ImageIcon("mini_map.png");
JLabel label1=new JLabel(ii);

Icon icon = new ImageIcon("Mg.gif");
JLabel label2 = new JLabel(icon);

JScrollPane jsp=new JScrollPane();

jsp.getViewport().add(label1);
jsp.getViewport().add(label2 );
Run Code Online (Sandbox Code Playgroud)

kle*_*tra 7

JViewport是一个单子容器,不能添加两个组件.

要在任何容器中实现重叠(即z方向的堆栈组件),您主要依靠自己,内置支持很差.要么必须在LayeredPane中管理它们(如前所述)或尝试OverlapLayout


How*_*ard 6

如果要将组件放在彼此之上,请使用分层窗格.


MBy*_*ByD 5

将两个标签放在同一面板中,并将其添加到JScrollPane中:

ImageIcon ii = new ImageIcon("mini_map.png");
JLabel label1=new JLabel(ii);

Icon icon = new ImageIcon("Mg.gif");
JLabel label2 = new JLabel(icon);

JPanel pContainer = new JPanel();
pContainer.add(label1);
pContainer.add(label2);
JScrollPane jsp=new JScrollPane(pContainer);
Run Code Online (Sandbox Code Playgroud)

  • 这将使组件彼此相邻或上下对齐,而不是满足“重叠”要求。 (2认同)