2013-03-27 5 views
-1

Я хочу установить доступ jpanel (который находится в JDesktopPane) из JInternalFrame, я установил его публично, но никоим образом не дал его «null», когда я это делаю некоторый тест:Как получить доступ к jpanel (в JDesktopPane) из JInternalFrame

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

Что такое JDesktop? Предположительно, это ваш класс, но вы не предоставили код для него, поэтому любые ответы от нас были бы просто догадками. – splungebob

+0

Кроме того, если вы пытаетесь использовать JDesktopPanes, вы не добавляете JPanels напрямую к ним. Вы добавляете свои JPanels в JInternalFrame, а затем добавляете этот JIF в JDesktopPane, который, в свою очередь, добавляется в JFrame. – splungebob

+0

JDesktop - это просто имя JDesktopPane. Я использую палитру для добавления элементов управления, поэтому панель находится на JDesktop, и я хочу получить к ней доступ из JInternalFrame. – Majda

ответ

0

Я просто решить эту проблему, я могу это сделать:

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

 Смежные вопросы

  • Нет связанных вопросов^_^