将 JFrame 转换为 JPanel
Converting JFrame to JPanel
我目前已经使用 JFrame
编写了一些 Java Swing,并且工作正常。
但现在我需要使用多个屏幕,它们已使用 cardlayouts
完成。
所以我需要将我的 JFrame
转换为 JPanel
。目前我的 JFrame
有这条线
mainFrame.getContentPane().add(c4Panel,BorderLayout.CENTER);
但是如果我将 mainFrame
转换为 JPanel
我不能使用 getContentPane()
IDE 告诉我使用 getRootPane()
但是我在这一行遇到错误
mainPanel.getRootPane().add(c4Panel,BorderLayout.CENTER);
我得到的错误是
Exception in thread "main" java.lang.NullPointerException
mainPanel.getRootPane().add(c4Panel,BorderLayout.CENTER);
应该是:
mainPanel.add(c4Panel,BorderLayout.CENTER);
代码:
mainFrame.getContentPane()
..只是返回一个容器,它本身有一个 add()
方法,getContentPane()
部分已经有一段时间不需要了。
我目前已经使用 JFrame
编写了一些 Java Swing,并且工作正常。
但现在我需要使用多个屏幕,它们已使用 cardlayouts
完成。
所以我需要将我的 JFrame
转换为 JPanel
。目前我的 JFrame
mainFrame.getContentPane().add(c4Panel,BorderLayout.CENTER);
但是如果我将 mainFrame
转换为 JPanel
我不能使用 getContentPane()
IDE 告诉我使用 getRootPane()
但是我在这一行遇到错误
mainPanel.getRootPane().add(c4Panel,BorderLayout.CENTER);
我得到的错误是
Exception in thread "main" java.lang.NullPointerException
mainPanel.getRootPane().add(c4Panel,BorderLayout.CENTER);
应该是:
mainPanel.add(c4Panel,BorderLayout.CENTER);
代码:
mainFrame.getContentPane()
..只是返回一个容器,它本身有一个 add()
方法,getContentPane()
部分已经有一段时间不需要了。