如何在applet中切换JPanels?

时间:2014-08-04 19:11:26

标签: java swing applet jpanel japplet

如何在applet中的JPanel之间切换?在JFrame中切换JPanel非常简单,我这样做:

        frame.remove(mainMenu); //remove the old jpanel
        frame.add(game); //add the new jpanel
        game.createImage(); //runs createVolatileImage(width, height)
                            //in the other class (JPanel)
        frame.revalidate();
        frame.repaint();
        requestFocus();

但是,我如何在applet中复制它?当我在applet中尝试这个时,当我尝试在我在新JPanel中创建的图像上运行image.getGraphics()时,我得到一个nullPointerException。

1 个答案:

答案 0 :(得分:3)

  1. 切换JPanel的最佳方法是使用CardLayout(tutorial)。如果操作正确,无论您的GUI是JFrame,JDialog,JApplet,还是等等,这都将有效。
  2. 您的NullPointerException可能与您的交换视图无关。要进行调试,需要您提供更多信息。
  3. 可能是由于您的图像变量为空,可能是因为尝试将其作为文件而不是资源进行读取。