所有这些都在Netbeans中运行。
假设您有一个自定义容器bean,这是一个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中。