我正在为一个类项目设计一个Pizza Delivery模拟器。我的团队和我的大部分工作都已完成,但我们正在努力使用GUI。如何在JScrollPane中显示JPanel?
我需要能够添加项目的顺序。每次单击添加项目按钮时,它都会创建一个新的AddItemPanel(我创建的用于扩展JPanel的面板),并将其添加到JScrollPane。
我遇到的问题是它只会将一个AddItemPanel添加到scrollPane。我不确定他们是否被隐藏在第一个下面,或者我只是在做一些愚蠢的事情。
下面是相关代码:
JPanel itemPanel = new JPanel(new GridLayout(0, 1));
JViewPort viewPort = new JViewport();
viewPort.setLayout(new GridLayout(0, 1)); // not sure if I need this line
JScrollPane scrollPane = new JScrollPane(viewPort);
itemPanel.add(scrollPane);
// other stuff
JButton addItemButton = new JButton("Add Item");
addItemButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
viewPort.add(new AddItemPanel());
validate();
}
});
所以我的问题是:这甚至可能有一个JScrollPane?如果是这样,我该怎么做?如果不是,我将如何完成类似的事情?
(PS。我已经联系屏幕截图的情况下,他们在解释有帮助的。)
我从来没有设置视口的布局,并怀疑这不是一件好事。 – 2012-02-05 16:30:03
另请参见['ListDialog'](http://stackoverflow.com/a/5760093/230513)。 – trashgod 2012-02-05 16:43:25