有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    谢天谢地,我真的弄明白了。我的思路是正确的,但我试图向容器中添加JApplet,而不是contentpane。我用过这个

         About a = new About();
         getContentPane().removeAll();
         a.init();
         getContentPane().add(a);
         getContentPane().revalidate();