我正在爲一個類項目設計一個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