Java:从JInternalFrame获取Mainform对象

时间:2010-03-21 06:19:06

标签: java swing

我可以不参考构造函数中的对象吗? 换句话说,创建时从FrmTaoChild继承的任何类必须在主窗口的工具栏上添加按钮

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);
  }
}

1 个答案:

答案 0 :(得分: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;
    }
}