我用NetBeans开发GUI,想做成一般桌面应用程序“上一步”、“下一步”的效果,即在当前页面填写了一些数据后点“下一步”转到下一页面。
我建了一个只带前进、后退按钮的MainFrame,然后将我需要的Panel做成可重用的bean(就是下文的DataSourece)。在“下一步”按钮的ActionPerformed事件中添加了以下代码:
      MainFrame frame = new MainFrame();
      MainFrame.add(DataSource);
结果报错如下:
cannot find symbol
symbol:variable DataSource
non-static method add(java.awt.PopupMenu) cannot be referenced from a static context
这个这个无符号,是怎么回事?
我对java类不熟,谁能告诉我这个代码怎么写,谢谢了

解决方案 »

  1.   

    MainFrame frame = new MainFrame();
    你构造了一个新的窗口,这个也在按钮事件中?
    MainFrame.add(DataSource);
    你的MainFrame使用的什么布局管理器,不同的布局管理器用add方法后的效果是不一样的(因为你以前就有一个JPanel了),以前的Panel好象也没有remove掉,而且在窗口显示之后再添加组件需要validate()方法,否则显示不出来。做上一步、下一步可以使用CardLayout,很多页面重叠在一起,想要哪个就可以显示出来哪个也可以用你刚才的办法,不过需要先把以前的页面搞掉后再放上新的页面,再validate()
      

  2.   

    谢谢五斗米,我用的NetBeans,组件都是直接拖到界面上去的。
    我去试试你讲的方法