我可以不参考构造函数中的对象吗? 换句话说,创建时从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);
}
}
答案 0 :(得分:2)
如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;
}
}