`
tanleihaoren
  • 浏览: 68396 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

实现GWT-Ext程序的换肤功能

阅读更多

   实现GWT-Ext的换肤功能并不难,大家也许已经注意到了,在Gwt-Ext的Showcase2的左上角就已经有了Select Theme选项。默认有Gray,Green,Indigo等几种主题样式。本文要做的仅是提取出这个功能,仅此而已, 仅此而已。

   GWT-Ext的皮肤样式实际上使用的仍然是ExtJS的样式。所以要应用更多的样式,可以从这里 http://extjs.com/learn/Ext_Extensions#User_Themes 下载。

   把下载下来的themes文件解压缩放到public目录的themes目录下(总之要和下面文件中的路径对应。)

   这是一个主题更换类:

package com.test.client;

import com.gwtext.client.data.Record;
import com.gwtext.client.data.SimpleStore;
import com.gwtext.client.data.Store;
import com.gwtext.client.util.CSS;
import com.gwtext.client.widgets.form.ComboBox;
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;

/**
 * A simple dynamic Theme Changer ComboBox. You must have the Ext theme
 * stylesheet declared in your host html page using the id "theme". <p/> For
 * example <p/> <link id="theme" rel="stylesheet" type="text/css"
 * href="js/ext/resources/css/xtheme-gray.css"/> or <link id="theme"
 * rel="stylesheet" type="text/css" href="xtheme-default.css"/>
 */
public class ThemeChanger extends ComboBox {

	public ThemeChanger() {

		final Store store = new SimpleStore(
				new String[] { "theme", "label" },
				new Object[][] {
					new Object[] { "js/ext/resources/css/xtheme-gray.css","Gray" },
					new Object[] { "themes/BlackTheme/css/xtheme-black.css","Black" },
					new Object[] { "themes/green/css/xtheme-green.css","Green" },
					new Object[] { "themes/slate/css/xtheme-slate.css","Slate" },
					new Object[] { "themes/indigo/css/xtheme-indigo.css","Indigo" },
					new Object[] { "themes/silverCherry/css/xtheme-silverCherry.css","Silver Cherry" } });
		store.load();
		setFieldLabel("Select Theme");
		setEditable(false);
		setStore(store);
		setDisplayField("label");
		setForceSelection(true);
		setTriggerAction(ComboBox.ALL);
		setValue("Gray");
		setFieldLabel("Switch theme");
		addListener(new ComboBoxListenerAdapter() {
			public void onSelect(ComboBox comboBox, Record record, int index) {
				String theme = record.getAsString("theme");
				CSS.swapStyleSheet("theme", theme);
			}
		});
		setWidth(100);
	}
}

 然后在你程序中需要的地方添加如下程序即可:

 

  Toolbar toolbar = new Toolbar();
  toolbar.addFill();
  toolbar.addItem(new ToolbarTextItem("更换主题 "));
  toolbar.addSpacer();
  toolbar.addField(new ThemeChanger());
  yourpanel.setTopToolbar(toolbar);

 

 效果就不传了,大家可以看showcase2中更换主题的效果。(javaeye贴图是在太麻烦了。)

分享到:
评论
2 楼 tanleihaoren 2009-01-06  
我有这么笨麽?
1 楼 may_cauc 2009-01-06  
楼主说的是EXT-GWT吧,这和GWT-EXT完全是两个项目哦

相关推荐

    Gwt-ext学习笔记之基础篇

    ### Gwt-ext学习笔记之基础篇 #### 一、安装CypalStudio工具 为了能够开始Gwt-ext的学习之旅,首先需要确保开发环境已经搭建好。...通过这种方式,开发者可以快速上手Gwt-ext,进而构建功能丰富的Web应用程序。

    gwt-ext培训教程

    GWT-Ext是一个基于Google Web Toolkit (GWT)的JavaScript库,它提供了丰富的用户界面组件和强大的数据绑定机制,使得开发者能够构建出交互性强、视觉效果优秀的Web应用程序。本教程将深入探讨GWT-Ext的核心概念、...

    Gwt-Ext基础-中级-进阶

    Gwt-Ext是一种基于Google Web Toolkit (GWT)的JavaScript库,它扩展了GWT的功能,提供了丰富的用户界面组件和更美观的外观。这个压缩包包含的资源是关于Gwt-Ext的基础、中级和进阶学习资料,适合想要深入理解和应用...

    gwt-ext相关jar包及资源

    1. **jar包**:这些jar文件是GWT-Ext的库文件,包含了GWT-Ext的所有组件和功能实现。你需要将它们添加到你的项目的类路径中,以便在开发过程中引用和使用GWT-Ext的功能。例如,`gwt-ext.jar`可能是核心库,`gxt-...

    GWT-Ext超级Widget功能类库

    GWT-Ext超级Widget功能类库是一个基于Google Web Toolkit (GWT)的扩展库,它为开发者提供了丰富的用户界面组件和强大的功能,旨在提升Web应用的用户体验和开发效率。GWT是一个开源框架,允许Java开发者使用Java语言...

    Gwt-Ext学习笔记之进级篇

    GWT-Ext不仅简化了GWT与Ext Js的集成,还扩展了GWT的功能,提供了更多的控件和功能。 在GWT-Ext的学习过程中,首先你需要了解如何定义和实现远程服务。这是GWT的一个核心特性,它允许客户端和服务器之间的安全通信...

    gwt-ext-tree

    GWT-Ext-Tree 是一个基于 Google Web Toolkit (GWT) 的组件库,它扩展了 GWT 的功能,提供了一套强大的、可定制的树形控件。GWT 是一个用于构建富互联网应用程序(RIA)的 Java 开发框架,允许开发者使用 Java 语言...

    Gwt-ext学习笔记

    GWT(Google Web Toolkit)和Ext JS是两个在Web开发领域广泛应用的技术,它们结合形成的Gwt-ext库,为开发者提供了一种构建富客户端应用程序的强大工具。这篇学习笔记将深入探讨Gwt-ext的核心概念、功能以及如何在实际...

    gwt-ext 实例

    1. **gwt-ext库的介绍**:gwt-ext库扩展了GWT的基本功能,提供了诸如表格、树形视图、面板、表单组件等丰富的UI元素,使得GWT应用的界面更加专业和用户友好。 2. **引入gwt-ext到项目**:如何在Maven或Gradle构建...

    GWT-EXT2.0最佳实践教程,源代码打包供下载

    《GWT-EXT2.0最佳实践教程》源代码打包下载资源主要涵盖了Google Web Toolkit (GWT) 和EXT-JS 2.0的结合使用,提供了丰富的实践案例和示例代码,旨在帮助开发者深入理解和应用这两项技术。GWT是一款强大的JavaScript...

    非常好的gwt-ext培训教程

    GWT-Ext 是一个高级的网页开发控件库,它结合了 Google Web Toolkit (GWT) 和 ExtJs 的优势,为开发者提供了丰富的 UI 组件和强大的功能。GWT 是一个由 Google 开发的用于构建富互联网应用程序 (RIA) 的框架,它允许...

    GWT-Ext_体验之旅.doc

    GWT-Ext 是一个基于 Google Web Toolkit (GWT) 和 ExtJS 的开源控件库,专为构建富互联网应用程序(RIA)提供强大的功能。它允许开发者使用纯 Java 语言进行界面开发,极大地提高了开发效率。GWT-Ext 的核心特点在于它...

    Gwt-Ext学习笔记之基础篇- www.hxiaseo.cn技术网站

    标题中的"Gwt-Ext学习笔记之基础篇"指的是关于Gwt-Ext的初级教程,这是一种基于Google Web Toolkit (GWT) 的扩展库,用于构建富互联网应用程序(RIA)。Gwt-Ext提供了丰富的用户界面组件,使得开发者可以利用Java语言...

    (转载)GWT -EXT学习笔记-基础

    通过以上步骤,我们不仅完成了GWT-EXT的基础配置和项目搭建,还实现了简单的UI展示功能。这为后续深入学习GWT-EXT提供了坚实的基础。接下来,可以根据实际需求进一步探索更多高级特性和技术细节。

    GWT-Ext 控件演示

    GWT-Ext 控件演示 GWT-Ext 控件演示

    需要GWT-Ext 2.0.5来下

    GWT-Ext 2.0.5 has been released. Grab the distribution from the Downloads area. GWT-Ext 2.0.5 supports GWT 1.5 final (1.5.2), Firefox3 and Chrome.

Global site tag (gtag.js) - Google Analytics