前两天在调用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应用的外观时,了解此CSS文件可以帮助开发者更好地调整和定制GXT组件的样式。 3. **索引和概述** `index-all.html` 是完整的类和接口索引,方便开发者查找特定的API。`overview-tree.html` 提供了一个...
在IT行业中,GXT(Ext GWT)是一种用于构建富客户端Web应用的JavaScript库,它基于Google的GWT(Google Web Toolkit)。GXT提供了一系列组件,使得开发者可以创建功能丰富的用户界面,类似于桌面应用程序的体验。...
- **数据模型**:理解GXT的数据模型及其在数据处理中的作用。 - **数据表格**:详细介绍如何使用Grid组件展示和操作数据。 - **远程数据服务**:实现客户端与服务器之间的数据交互。 4. **高级特性** - **...
从给定的内容来看,这篇“gxt初学进阶教程”主要介绍了一个基于GWT(Google Web Toolkit)的扩展工具库ExtGWT,也被称作GXT,用于帮助Java程序员在Web开发中创建富客户端应用程序。以下是根据提供的文件内容总结出的...
本教程将深入探讨如何在Java环境中利用GXT来构建高效且美观的Web应用。 **描述:“JavaBeanSupportwithExtGWT.docx 初识ExtGWT.docx”** 1. **JavaBeanSupportwithExtGWT**: JavaBean支持是GXT的一大特色,它...
文件上传在Web应用中是一项常见需求,GWT和GXT都提供了相应的解决方案。在GWT中,文件上传通常涉及到`FileUpload`组件,这是一个表单元素,允许用户选择本地文件。配合`FormPanel`使用,可以将选定的文件发送到...
在"GXt项目"中,我们可以期待找到一系列关于如何使用GXT进行Web应用开发的知识点。以下是一些核心内容的详述: 1. **GXT组件库**:GXT包含了大量的UI组件,如按钮、表单、面板、菜单、对话框等,这些都是基于GWT的...
在`Libraries`选项卡中,点击`Add External JARs`,导航到你的GXT SDK安装目录,选择`gxt-x.x.x-client.jar`(x.x.x代表你的GXT版本号)添加进来。 4. **创建GXT模块**:打开`src/main/java`目录下的`...
在本文中,我们将深入探讨如何搭建GXT (GWT eXtensions) 2.2.0开发环境,并实现一个简单的程序运行。GXT 是一个基于Google Web ...同时,持续关注社区的博客和教程,如链接中的博文,以获取最新的技术信息和解决方案。
标题中的"Gxt"指的是Sencha GXT,这是一个基于Google Web Toolkit (GWT) 的Java库,专门用于构建富互联网应用程序(Rich Internet Applications, RIA)。GXT提供了丰富的组件、数据绑定、布局管理以及主题定制等功能...
8. **兼容性**:虽然这个版本较旧(1.2.3),但GXT通常会兼容多种浏览器,包括IE、Firefox、Chrome等,确保应用的广泛适用性。 9. **社区支持**:由于GXT是一个开源项目,它拥有活跃的社区和丰富的文档资源,开发者...
GXT最初是对ExtJS的一个Java实现,ExtJS是一个用JavaScript编写的前端框架,而GXT则是将这些组件和功能转化为Java代码,使得开发人员可以在Java环境中进行工作,利用GWT的编译机制,生成高效的JavaScript代码运行在...
在IT行业中,GXT(Ext GWT)和GWT(Google Web Toolkit)是两种流行的JavaScript库,用于构建富互联网应用程序(Rich Internet Applications, RIA)。它们都是基于Java语言的,可以提供丰富的用户界面组件和高效的...
《GXT API 2.2.5:深入理解与应用》 GXT,全称GWT Extensions,是一款基于Google Web Toolkit (GWT) 的开源UI组件库,它为Web应用程序提供了丰富的用户界面组件和功能。GXT API 2.2.5是这个库的一个版本,包含了...
在GXT 2.2.5中,数据绑定和分页功能得到了进一步优化。通过ModelData和Store对象,可以轻松实现数据的双向绑定,使得界面组件和后台数据之间的交互更为便捷。同时,数据网格支持动态加载和分页,提升了用户体验。 ...
Ext JS是一个流行的JavaScript框架,用于构建富互联网应用程序,而GXT则是其在GWT环境中的移植。 至于文件 "client",这通常是GWT项目中的一个关键部分,包含了所有与客户端相关的代码,如用户界面、事件处理、业务...
在【压缩包子文件的文件名称列表】中,"gwt+gxt"可能表示的是包含GWT和GXT库的JAR文件,例如GWT的gwt-user.jar、gwt-dev.jar以及GXT的gxt.jar、gxt-theme-neptune.jar等。这些JAR文件通常需要添加到项目的类路径中,...
在GXT中,控制器可能是事件监听器,它们监听用户操作并调用适当的模型或视图方法来响应。 博客链接指向的可能是对如何在GXT项目中实现MVC模式的详细教程或讨论,但具体内容由于没有提供,我们无法深入探讨。通常,...
在本文中,我们将深入探讨GXT组件的使用,特别是关于Aggregation Grid的教程。GXT是Sencha提供的一款强大的JavaScript库,专为构建企业级Web应用程序而设计,它提供了丰富的UI组件和数据网格功能。Aggregation Grid...