java更新容器以显示新的JApplet
我知道这是可以做到的,因为大约一年前我就做到了,但从那时起我就不必这么做了。无论如何,我想做的是,当点击一个按钮时,它会在原有的小程序上创建一个新的小程序;有点像旧的flash电子游戏。我几乎可以肯定它使用了诸如revalidate()或repaint()之类的方法,但我似乎仍然无法让它工作。此外,我将容器设置为全局变量,以便可以在actionPerformed方法中编辑它
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == about)
{
c.removeAll();
About a = new About();
c.add(a);
c.revalidate();
}
else if(e.getSource() == start_game)
System.out.println("Start - Coming Soon");
else if(e.getSource() == highscores)
System.out.println("HighScores - Coming Soon");
}
我知道问题出在actionPerformed方法中,但不知道我犯了什么错误。我试图做的是从当前容器中删除所有内容,添加About(这也是一个JApplet),然后重新验证/重新绘制它(这两种方法都不起作用)
如果任何人在JApplets内部有任何专业知识或知道这个问题,我将不胜感激
# 1 楼答案
谢天谢地,我真的弄明白了。我的思路是正确的,但我试图向容器中添加JApplet,而不是contentpane。我用过这个