SmartGwt 之原生 Desktop(与gxt无关)
在前几天尝试了一下将 extjs的gwt封装即gxt的desktop与Smartgwt绑定在一起,
效果还不错,不过有几个问题:
?
- 引入两个gwt的扩展,相互之间的js/css可能会有冲突如果在项目中使用,会增加学习成本。在gxt里面添加smartgwt的控件,有可能会出现问题。gxt 的 desktop 扩展起来麻烦。我的需求是要增加一个搜索框,就比较难实现。换肤的话,要同时换两套,会比较麻烦,而且风格不一致
public void onModuleLoad() { initDebugConsole(); initErrorHandler(); desktop = new Desktop(); createMenuAndShortcut(desktop.getTaskBar()); } private void createMenuAndShortcut(TaskBar taskBar) { DesktopWindow contactWindow = new ContactPersonSubPanel(); DesktopWindow documentWindow = new DocumentManagePanel(); DesktopWindow notesWindow = new NotesSubPanel(); DesktopWindow calendarWindow = new CalendarManagePanel(); ToolStrip quickBar = taskBar.getQuickStartBar(); createMenuAndShortcut(contactWindow, quickBar); createMenuAndShortcut(documentWindow, quickBar); createMenuAndShortcut(notesWindow, quickBar); createMenuAndShortcut(calendarWindow, quickBar); quickBar.addSeparator(); DynamicForm form = createSimpleForm(); form.setAlign( Alignment.CENTER); form.setLayoutAlign( VerticalAlignment.CENTER); form.setFields(createSearchItem(), createStyleSelectItem()); quickBar.addMember( form); quickBar.addSeparator(); createSystemButtons(quickBar); quickBar.addSeparator(); }?之所以有一个DesktopWindow,是为了增加一些window状态管理的控制,区别不大。和gxt的desktop的区别在于,没有做StartMenu,感觉我的应用没有那么多入口,只有几个快捷方式,然后在taskbar 上增加了一些系统配置的按钮,以及搜索框和换肤选择框。效果如下图所示:

?源码见附件,不保证能用,不提供技术支持。
?