adempiere的web应用程序使用zk编写。zk的API链接是http://www.zkoss.org/javadoc/,中文教程链接是http://zh.zkoss.org/doc/devguide,大家自己研究好了。不是很复杂。
在adempiere中控制布局的代码在类ADWindowPanel中的doCreatePart(Component parent)方法中。其中:
layout是指整个窗体
North n = new North(); 这个存放的是工具栏
South s = new South(); 这个存放的是状态栏
west存放的标签
contentArea 存放的是表单中的内容。
下面这段代码把标签从竖放改成了横放并放在了上面。
South s = new South();
layout.appendChild(s);
s.setCollapsible(false);
statusBar.setParent(s);
LayoutUtils.addSclass("adwindow-status", statusBar);
contentArea = new Center();
contentArea.setParent(layout);
contentArea.setAutoscroll(true);
contentArea.setFlex(true);
Borderlayout contentLayout = new Borderlayout();
contentLayout.setParent(contentArea);
if (!isEmbedded() && adTab.isUseExternalSelection()) {
centerNorth = new North();
contentLayout.appendChild(centerNorth);
centerNorth.setSplittable(false);
centerNorth.setAutoscroll(true);
LayoutUtils.addSclass("adwindow-nav", centerNorth);
adTab.getTabSelectionComponent().setParent(centerNorth);
LayoutUtils.addSclass("adwindow-nav-content",
(HtmlBasedComponent) adTab.getTabSelectionComponent());
}
Center center = new Center();
center.setParent(contentLayout);
adTab.createPart(center);
我把原来的west拿掉了,然后在contentArea中加上了一个Borderlayout.非常简单。