java - 如何在小程序中的 JPanel 之间切换?

标签 java swing applet jpanel japplet

如何在小程序中的 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();

但是,如何在小程序中复制此内容?当我在小程序中尝试此操作时,当我尝试在新 JPanel 中创建的图像上运行 image.getGraphics() 时,我收到 nullPointerException。

最佳答案

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

关于java - 如何在小程序中的 JPanel 之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125848/

相关文章:

java - 如何发送带有 HTML 标签的短信?

java - 抛出异常形式覆盖方法,没有在组织方法接口(interface)上定义的异常

java - 空参数检查、断言或异常哪个更好?

java - JViewport 是不是定位了它的 View ?

java - 如何从 Java 小程序创建文件?

java - 如何排除/重定向 web.xml 或 Guice servlet 模块中的某些 url 模式?

java - 为什么矩形没有在框架上移动?

java - run 中不会调用 repaint()

java - 为什么小程序关闭服务器?

java - 在浏览器中运行 Java applet 时,是否可以删除对对话框的任何需求?