gpt4 book ai didi

java - 如何将多个元素添加到 JScrollPane

转载 作者:行者123 更新时间:2023-12-03 10:55:19 24 4
gpt4 key购买 nike

因此,我试图向 JScrollPane 元素添加多个元素,但到目前为止我还无法将其拉出。
我可以让它显示第一个元素,在我的例子中是一张图片。但是在向 JScrollPane 添加一个额外的面板后,第一个元素消失了,甚至第二个元素,新面板,也没有显示在我的 JScrollPane 上。

        JFrame scherm = new JFrame("t?");
scherm.setVisible(true);
scherm.setSize(300, 300);
scherm.setLocationRelativeTo(null);
scherm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//
String path = "C:\\Users\\Bernard\\Documents\\Paradox Interactive\\Crusader Kings II\\mod\\viking\\map\\provinces.bmp";
Image image = ImageIO.read(new File(path));
ImageIcon icon = new ImageIcon(image);


JLabel label = new JLabel(icon);
JScrollPane scroll = new JScrollPane(label);
JPanel paneel2= new JPanel();
paneel2.setSize(new Dimension(400,400));
scroll.getViewport().add(paneel2,null);

scherm.add(scroll);

感谢您的时间!

最佳答案

通过做这个:

scroll.getViewport().add(paneel2,null);

您正在尝试将组件添加到滚动 Pane 的 JViewPort如下图所示:

enter image description here

这是没有意义的。如 How to Use Scroll Panes 中所述审判:

A JScrollPane provides a scrollable view of a component.



这个单一组件是视口(viewport)的 View 。因此,如果您想在滚动 Pane 中包含多个组件,则必须将所有这些组件包装在轻量级组件中,例如 JPanel并将此设置为滚动 Pane 的视口(viewport) View :
JPanel content = new JPanel();
content.add(label);
content.add(paneel2);

scroll.setViewportView(content);

关于java - 如何将多个元素添加到 JScrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21789190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com