`
witcheryne
  • 浏览: 1099110 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

GXT中TextArea的getSelectedTex()方法在IE下报错的解决方案。

阅读更多

    前两天在调用TextArea的getSelectedText()时总是报索引值越界的错误,让我很是纳闷...

    折腾了半天,搬开GXT源代码看。由于TextArea的getSelectedText()方法是从TextField方法继承而来.. so..  在TextField.java中翻getSelectedText()的实现。

 

   TextField中的getSelectedText()方法实现如下。

   

  /**
   * Returns the selected text.
   * 
   * @return the selected text
   */
  public String getSelectedText() {
    int start = getCursorPos(), length = getSelectionLength();
    return getRawValue().substring(start, start + length);
  }

  

   从此得知跟该方法有关的还有两个方法: getCursorPos()和getSelectionLength() 。。。

   那么错误肯定处在这两个方法上, 于是写了个Demo来分别测试这两个方法, 最后发现是getCursorPos()无法在IE下取得正确的数值。

   百般无奈之下,试了试GWT中的TextArea组件。。 惊奇的发现没有GXT中的错误。 取值很正确...

   最后想了一个解决方案, 重新创建一个TextArea组件,继承与GWT的TextArea.. 然后使用Ext中的样式即可..

   随后对Ext JS的TextArea组件的UI进行分析... 得出如下 css 样式设置:

      1. 普通状态: 采用 x-form-field  样式

      2. 获得焦点: 添加 x-form-focus 样式

      3. 失去交单: 移除 x-form-focus 样式即可

 

   具体代码如下:

  

import com.google.gwt.user.client.ui.FocusListener;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.Widget;


public class TransferTextArea extends TextArea {

	public TransferTextArea() {
		this.setStyleName("x-form-field");
		final TransferTextArea instance = this;
		
		this.addFocusListener(new FocusListener() {

			public void onFocus(Widget sender) {
				instance.addStyleName("x-form-focus");
			}

			public void onLostFocus(Widget sender) {
				instance.removeStyleName("x-form-focus");
			}			
		});
		
	}		
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    GXT v2.2.1 API doc

    在自定义GXT应用的外观时,了解此CSS文件可以帮助开发者更好地调整和定制GXT组件的样式。 3. **索引和概述** `index-all.html` 是完整的类和接口索引,方便开发者查找特定的API。`overview-tree.html` 提供了一个...

    GXT Cascade ComboBox Samples

    在IT行业中,GXT(Ext GWT)是一种用于构建富客户端Web应用的JavaScript库,它基于Google的GWT(Google Web Toolkit)。GXT提供了一系列组件,使得开发者可以创建功能丰富的用户界面,类似于桌面应用程序的体验。...

    GXT 学习的好书

    - **数据模型**:理解GXT的数据模型及其在数据处理中的作用。 - **数据表格**:详细介绍如何使用Grid组件展示和操作数据。 - **远程数据服务**:实现客户端与服务器之间的数据交互。 4. **高级特性** - **...

    gxt初学进阶教程

    从给定的内容来看,这篇“gxt初学进阶教程”主要介绍了一个基于GWT(Google Web Toolkit)的扩展工具库ExtGWT,也被称作GXT,用于帮助Java程序员在Web开发中创建富客户端应用程序。以下是根据提供的文件内容总结出的...

    GXT组件使用教程

    本教程将深入探讨如何在Java环境中利用GXT来构建高效且美观的Web应用。 **描述:“JavaBeanSupportwithExtGWT.docx 初识ExtGWT.docx”** 1. **JavaBeanSupportwithExtGWT**: JavaBean支持是GXT的一大特色,它...

    gwt , gxt文件上传

    文件上传在Web应用中是一项常见需求,GWT和GXT都提供了相应的解决方案。在GWT中,文件上传通常涉及到`FileUpload`组件,这是一个表单元素,允许用户选择本地文件。配合`FormPanel`使用,可以将选定的文件发送到...

    Gxt_BLOG(GXt项目)

    在"GXt项目"中,我们可以期待找到一系列关于如何使用GXT进行Web应用开发的知识点。以下是一些核心内容的详述: 1. **GXT组件库**:GXT包含了大量的UI组件,如按钮、表单、面板、菜单、对话框等,这些都是基于GWT的...

    一步一步教你新建GXT项目

    在`Libraries`选项卡中,点击`Add External JARs`,导航到你的GXT SDK安装目录,选择`gxt-x.x.x-client.jar`(x.x.x代表你的GXT版本号)添加进来。 4. **创建GXT模块**:打开`src/main/java`目录下的`...

    搭建gxt-2.2.0环境,让我们第一个简单程序跑起来

    在本文中,我们将深入探讨如何搭建GXT (GWT eXtensions) 2.2.0开发环境,并实现一个简单的程序运行。GXT 是一个基于Google Web ...同时,持续关注社区的博客和教程,如链接中的博文,以获取最新的技术信息和解决方案。

    Gxt,包含resource

    标题中的"Gxt"指的是Sencha GXT,这是一个基于Google Web Toolkit (GWT) 的Java库,专门用于构建富互联网应用程序(Rich Internet Applications, RIA)。GXT提供了丰富的组件、数据绑定、布局管理以及主题定制等功能...

    gxt-1.2.3.jar.zip

    8. **兼容性**:虽然这个版本较旧(1.2.3),但GXT通常会兼容多种浏览器,包括IE、Firefox、Chrome等,确保应用的广泛适用性。 9. **社区支持**:由于GXT是一个开源项目,它拥有活跃的社区和丰富的文档资源,开发者...

    GXT 软件包和API

    GXT最初是对ExtJS的一个Java实现,ExtJS是一个用JavaScript编写的前端框架,而GXT则是将这些组件和功能转化为Java代码,使得开发人员可以在Java环境中进行工作,利用GWT的编译机制,生成高效的JavaScript代码运行在...

    gxt、gwt与spring结合使用

    在IT行业中,GXT(Ext GWT)和GWT(Google Web Toolkit)是两种流行的JavaScript库,用于构建富互联网应用程序(Rich Internet Applications, RIA)。它们都是基于Java语言的,可以提供丰富的用户界面组件和高效的...

    gxt-api-2.2.5 doc

    《GXT API 2.2.5:深入理解与应用》 GXT,全称GWT Extensions,是一款基于Google Web Toolkit (GWT) 的开源UI组件库,它为Web应用程序提供了丰富的用户界面组件和功能。GXT API 2.2.5是这个库的一个版本,包含了...

    gxt-2.2.5.zip

    在GXT 2.2.5中,数据绑定和分页功能得到了进一步优化。通过ModelData和Store对象,可以轻松实现数据的双向绑定,使得界面组件和后台数据之间的交互更为便捷。同时,数据网格支持动态加载和分页,提升了用户体验。 ...

    gwt gxt demo

    Ext JS是一个流行的JavaScript框架,用于构建富互联网应用程序,而GXT则是其在GWT环境中的移植。 至于文件 "client",这通常是GWT项目中的一个关键部分,包含了所有与客户端相关的代码,如用户界面、事件处理、业务...

    gwt + gxt jar包

    在【压缩包子文件的文件名称列表】中,"gwt+gxt"可能表示的是包含GWT和GXT库的JAR文件,例如GWT的gwt-user.jar、gwt-dev.jar以及GXT的gxt.jar、gxt-theme-neptune.jar等。这些JAR文件通常需要添加到项目的类路径中,...

    GXT MVC design

    在GXT中,控制器可能是事件监听器,它们监听用户操作并调用适当的模型或视图方法来响应。 博客链接指向的可能是对如何在GXT项目中实现MVC模式的详细教程或讨论,但具体内容由于没有提供,我们无法深入探讨。通常,...

    GXT组件使用教程4——Aggregation Grid

    在本文中,我们将深入探讨GXT组件的使用,特别是关于Aggregation Grid的教程。GXT是Sencha提供的一款强大的JavaScript库,专为构建企业级Web应用程序而设计,它提供了丰富的UI组件和数据网格功能。Aggregation Grid...

Global site tag (gtag.js) - Google Analytics