我可以在不引用构造函数中的对象的情况下执行此操作吗?
换句话说,创建时从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);
  }
}

最佳答案

How to Use Internal Frames中的讨论,“通常,您将内部框架添加到桌面窗格中。”与其传递JToolBar作为参数,不如考虑让FrmTaoChild提供一个Action,该FrmTaoMain可用于相应的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;
    }
}

关于java - Java:从JInternalFrame获取Mainform对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2486179/

10-14 12:47
查看更多