因此,我试图向 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如下图所示:
这是没有意义的。如 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/