Все это работает в Netbeans.
Допустим, у вас есть пользовательский контейнерный компонент, который является подклассом JPanel с несколькими JPanel внутри себя.Если вы хотите, чтобы он работал как контейнер в палитре, вы должны поместить ContainerDelegate, как сказано здесь: http://wiki.netbeans.org/FaqFormCustomContainerBean
Но вы можете поместить только один из JPanels в качестве ContainerDelegate, и, конечно, вы хотитечтобы иметь возможность добавлять вещи ко всем из них.
Возможно ли это?Как?
Ниже этой строки приведен пример
В классе:
public class MyClass extends JPanel {
public MyClass() {
initComponents();
}
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
...
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
// End of variables declaration
public JPanel getContainerDelegate(){
return jPanel1;
//Can I change it?
}
}
И в BeanInfo добавьте следующие две строки:
BeanDescriptor desc = new BeanDescriptor(MyClass.class);
desc.setValue("containerDelegate", "getContainerDelegate");
Затем вы можете добавить этот класс в палитру и перетаскивать в него виджеты, но только в JPanel1 я хочу также иметь возможность добавлять элементы в JPanel2.