【发布时间】:2010-11-13 20:24:29
【问题描述】:
代码有一个 JPanel 和一个显示 awt 绘图的内部 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 不是首选,必须有更清洁的方式。如何进行?
【问题讨论】:
-
更简洁的方法是使用卡片布局。
-
我使用了cardLayout。效果很好。谢谢大家。