-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
}
}
Любая помощь пожалуйста?
Что такое JDesktop? Предположительно, это ваш класс, но вы не предоставили код для него, поэтому любые ответы от нас были бы просто догадками. – splungebob
Кроме того, если вы пытаетесь использовать JDesktopPanes, вы не добавляете JPanels напрямую к ним. Вы добавляете свои JPanels в JInternalFrame, а затем добавляете этот JIF в JDesktopPane, который, в свою очередь, добавляется в JFrame. – splungebob
JDesktop - это просто имя JDesktopPane. Я использую палитру для добавления элементов управления, поэтому панель находится на JDesktop, и я хочу получить к ней доступ из JInternalFrame. – Majda