2010-03-21 29 views
0

我可以在不参考构造函数中的对象的情况下执行此操作吗? 换句话说,任何类从FrmTaoChild创造必须的,当添加主窗口Java:从JInternalFrame获取Mainform对象

public class FrmTaoMain extends JFrame { 
    JToolBar tbTask = new JToolBar(); 
    public FrmTaoMain(String Caption) { 
    super(Caption); 
    ... 
    FrmTaoChild FrmChild = new FrmTaoChild(tbTask,"test"); 

    } 
} 

public class FrmTaoChild extends JInternalFrame { 
    public FrmTaoChild(JToolBar tbTask, String Caption) 
    { 
    super (Caption); 
    JButton btnTask = new JButton(Caption); 
    tbTask.add(btnTask); 
    } 
} 

回答

2

正如How to Use Internal Frames讨论的工具栏上的按钮继承,“通常情况下,你添加的内部框架到桌面窗格”。而不是通过JToolBar作为参数,考虑让FrmTaoChild提供ActionFrmTaoMain可用于相应的JToolBar按钮。有关更多信息,请参见How to Use Actions

另外,Java中的变量名通常以小写字母开头。

public class FrmTaoChild extends JInternalFrame { 

    private Action action; 

    public FrmTaoChild(String caption) { 
     super(caption); 
     action = new AbstractAction(caption) { ... } 
    } 

    public Action getAction() { 
     return action; 
    } 
}