如何从JInternalFrame访问jpanel(在JDesktopPane中)

时间:2013-03-27 15:47:51

标签: java swing jpanel jinternalframe jdesktoppane

我想从JInternalFrame设置jpanel(位于JDesktopPane中)的访问权限,我将其设置为public,但是当我做这样的测试时,它不会给出'null':

JDesktop frameP = new JDesktop();
frameP.jPanel1.setVisible(true); //This is what I want but it doesn't work

System.out.println("Name " + frameP.jPanel1.getName());

所以最后一行给我null,表示他没有得到JPanel。

我也尝试了那段代码:

 for(int k=0; k<frameP.getContentPane().getComponentCount();k++ ){
             if(frameP.getContentPane().getComponent(k)instanceof  JPanel){
                 JPanel pnl = (JPanel) frameP.getContentPane().getComponent(k);
                 if(pnl.getName().equals("jPanel1")){
                     pnl.setVisible(true);
                 }
                 System.out.println("Nom pnl: " +pnl.getName()); // That gives null too
             }
         } 

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

我只是解决了这个问题:

JDesktop.jpnlGauche.setVisible(false);
JDesktop.jpnlHaut.setVisible(false);