5
代碼中有一個帶有內部JPanel的JPanel,用於顯示awt繪圖。在鼠標點擊時,內部JPanel將被其多態同胞中的一個替換。這段代碼並沒有取代jPanel。如何在程序運行時將另一個JPanel替換爲另一個JPanel
class ContentPanel extends JPanel {
private GraphicPanel graphicPanel;
public ContentPanel(GraphicPanel graphicPanel) {
this.graphicPanel = graphicPanel;
add(this.graphicPanel);
public void setGraphicPanel(GraphicPanel graphicPanel) {
this.graphicPanel = graphicPanel;
// invalidate(); // revalidate(); // repaint(); }
設置graphicPanel多態相對不會引起任何錯誤,它只是不畫新graphicPanel。使用cardLayout不是首選,必須有更清晰的方式。如何進行?
更簡潔的方法是使用卡片佈局。 – Starkey 2010-11-13 20:26:28
我使用了cardLayout。它的效果很好。多謝你們。 – 2010-11-13 23:19:28