是否可以更改(或具有多个)containerDelegate?

时间:2019-03-08 19:42:40

标签: java swing netbeans javabeans palette

所有这些都在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中。

0 个答案:

没有答案