学习gxt时碰到一个问题
自己定义了一个CategoryForm组件,代码如下
package com.mypj.gxtportal.client;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.VerticalPanel;
import com.extjs.gxt.ui.client.widget.form.CheckBox;
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.form.Radio;
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
import com.extjs.gxt.ui.client.widget.form.TextArea;
import com.extjs.gxt.ui.client.widget.form.TextField;
public class CategoryForm extends LayoutContainer {
private VerticalPanel vp;
public CategoryForm() {
vp = new VerticalPanel();
vp.setSpacing(10);
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
createCategoryForm();
add(vp);
}
private void createCategoryForm() {
FormPanel simple = new FormPanel();
simple.setId("CateporyForm");
simple.setHeading("Restaurant");
simple.setFrame(true);
simple.setWidth(400);
TextField<String> name = new TextField<String>();
name.setFieldLabel("Name");
name.setLabelStyle("font-weight: bold;");
name.setAllowBlank(false);
simple.add(name);
TextField<String> phone = new TextField<String>();
phone.setFieldLabel("Phone");
simple.add(phone);
TextField<String> priceRange = new TextField<String>();
priceRange.setFieldLabel("Price");
simple.add(priceRange);
CheckBox check1 = new CheckBox();
check1.setBoxLabel("alcohol lisence");
CheckBox check2 = new CheckBox();
check2.setBoxLabel("BYOB");
check2.setValue(true);
CheckBox check3 = new CheckBox();
check3.setBoxLabel("H.D. alcohol");
CheckBoxGroup checkGroup = new CheckBoxGroup();
checkGroup.setFieldLabel("About Alcohol");
checkGroup.setLabelStyle("font-weight: bold;");
checkGroup.add(check1);
checkGroup.add(check2);
checkGroup.add(check3);
simple.add(checkGroup);
Radio radio = new Radio();
radio.setName("radio");
radio.setBoxLabel("Yes");
radio.setValue(true);
Radio radio2 = new Radio();
radio2.setName("radio");
radio2.setBoxLabel("No");
RadioGroup radioGroup = new RadioGroup("test");
radioGroup.setFieldLabel(" credit card");
radioGroup.add(radio);
radioGroup.add(radio2);
simple.add(radioGroup);
TextArea description = new TextArea();
description.setPreventScrollbars(true);
description.setFieldLabel("Description");
simple.add(description);
vp.add(simple);
}
}
一个TabForms类,准备将上面的组件加入
package com.mypj.gxtportal.client;
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
import com.extjs.gxt.ui.client.widget.VerticalPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FormData;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.google.gwt.user.client.Element;
import com.mypj.gxtportal.client.CategoryForm;
public class TabForms extends LayoutContainer {
private VerticalPanel vp;
public TabForms() {
vp = new VerticalPanel();
vp.setSpacing(10);
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
createTabForm();
add(vp);
}
private void createTabForm() {
FormData formData = new FormData("100%");
FormPanel panel = new FormPanel();
panel.setFrame(false);
panel.setHeaderVisible(false);
panel.setBodyBorder(false);
panel.setButtonAlign(HorizontalAlignment.CENTER);
panel.setLayout(new FitLayout());
TabPanel tabs = new TabPanel();
tabs.setDeferredRender(false);
TabItem personal = new TabItem();
personal.setText("tab1");
personal.setLayout(new FormLayout());
CategoryForm categoryForm = new CategoryForm();
tabs.add(personal);
TabItem personal2 = new TabItem();
personal2.setText("tab2");
personal2.setLayout(new FormLayout());
personal2.add(categoryForm);
tabs.add(personal2);
panel.add(tabs);
panel.addButton(new Button("Submit"));
panel.setSize(350, 300);
vp.add(panel);
}
}
EntryPoint的代码:
package com.mypj.gxtportal.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.mypj.gxtportal.client.TabForms;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class Gxt_Portal implements EntryPoint {
/**
* This is the entry point method.
*/
public void onModuleLoad() {
// RootPanel.get("maindiv").add(new CategoryForm());
RootPanel.get("maindiv").add(new TabForms());
}
}
启动后页面上有tab1和tab2,但tab1里面什么都没有,tab2里也只显示了CategoryForm 的标题“Restaurant”和一条线。何故?是不是Tabitem里面不能加自己写的CategoryForm ?
相关推荐
`serialized-form.html` 描述了GXT中可序列化的类,这对于数据交换和持久化存储至关重要。了解这些类的序列化形式可以帮助开发者有效地处理数据的输入输出。 6. **废弃列表** `deprecated-list.html` 列出了在GXT...
ExtGWT与GWT协同工作主要是通过将GXT的组件库和资源加入到GWT项目中来实现。添加ExtGWT到GWT项目通常涉及以下步骤: 1. 从Sencha官网下载对应的GXT SDK。 2. 在GWT项目中配置和引用GXT相关类库。 3. 将GXT自带的资源...
在"GXt项目"中,我们可以期待找到一系列关于如何使用GXT进行Web应用开发的知识点。以下是一些核心内容的详述: 1. **GXT组件库**:GXT包含了大量的UI组件,如按钮、表单、面板、菜单、对话框等,这些都是基于GWT的...
无论是希望快速上手GXT的新手,还是想要深入了解GXT高级特性的开发者,都能从这本书中获益良多。通过系统地学习本书内容,读者将能够在较短的时间内建立起扎实的GXT基础,为今后的职业生涯奠定坚实的技术基石。
在IT行业中,GXT(Ext GWT)是一种用于构建富客户端Web应用的JavaScript库,它基于Google的GWT(Google Web Toolkit)。GXT提供了一系列组件,使得开发者可以创建功能丰富的用户界面,类似于桌面应用程序的体验。...
3. **overview-tree.html**:组件结构树,显示了GXT库中的包、类和接口的层次关系,帮助开发者了解组件的组织结构。 4. **allclasses-frame.html** 和 **allclasses-noframe.html**:列出所有类的详细信息,前者在...
标题中的"Gxt"指的是Sencha GXT,这是一个基于Google Web Toolkit (GWT) 的Java库,专门用于构建富互联网应用程序(Rich Internet Applications, RIA)。GXT提供了丰富的组件、数据绑定、布局管理以及主题定制等功能...
该文档深入讲解了GXT中的各种组件,如Grid、Window、Panel等的使用方法,同时可能包括了数据绑定、事件处理、组件样式定制等内容,旨在提升开发者对GXT组件的实际操作能力。 3. **JavaBeanSupportwithExtGWT.docx*...
GXT最初是对ExtJS的一个Java实现,ExtJS是一个用JavaScript编写的前端框架,而GXT则是将这些组件和功能转化为Java代码,使得开发人员可以在Java环境中进行工作,利用GWT的编译机制,生成高效的JavaScript代码运行在...
在`Libraries`选项卡中,点击`Add External JARs`,导航到你的GXT SDK安装目录,选择`gxt-x.x.x-client.jar`(x.x.x代表你的GXT版本号)添加进来。 4. **创建GXT模块**:打开`src/main/java`目录下的`...
- **下载并集成GXT SDK**:从Sencha官网下载GXT SDK,将其资源目录拷贝至GWT项目中,配置Eclipse以引用GXT类库。 - **创建并运行GWT项目**:利用Eclipse的GWT插件,创建新的GWT项目,随后修改项目配置以包含GXT组件...
2. **响应式设计**:GXT支持响应式布局,可以根据设备屏幕大小自动调整界面显示。 3. **数据绑定**:GXT提供了数据模型和视图之间的绑定机制,简化了数据管理。 4. **主题定制**:可以自定义皮肤和主题,满足不同...
9. **社区支持**:由于GXT是一个开源项目,它拥有活跃的社区和丰富的文档资源,开发者可以在遇到问题时寻求帮助或参考示例代码。 10. **版本升级**:尽管GXT已经发展到了更高的版本,如GXT 4.x,但理解老版本的特性...
《X_GXT_Editor-V-2-3_gta_》是一款专为《侠盗猎车手:圣安地列斯》(GTA: San Andreas)设计的GXT编辑工具,它允许玩家对游戏中的文本和语言数据进行自定义,从而实现个性化的游戏体验。GXT文件是Rockstar Games为...
GWT(Google Web Toolkit)和GXT(Sencha GXT)是两个在Web开发中用于构建富互联网应用程序(RIA)的框架。GWT是Google推出的一款开源工具,它允许开发者使用Java语言编写客户端代码,然后编译成优化的JavaScript,...
尽管GXT的工具相对较少,但其官方文档详尽,且社区活跃,开发者可以通过查阅文档或参与社区讨论来解决遇到的问题。 综上所述,GXT 2.2.5作为一个强大的GWT扩展库,不仅提供了丰富的UI组件和功能,还在性能、稳定性...
标题 "GXT MVC设计" 指向的是一个关于使用GXT(Google Web Toolkit Extensions)进行Model-View-Controller(MVC)架构设计的主题。GXT是Google Web Toolkit(GWT)的一个扩展库,提供了丰富的用户界面组件和高级UI...
标题 "gwt gxt demo" 暗示我们正在探讨一个基于 Google Web Toolkit (GWT) 和 Sencha GXT 的演示项目。GWT 是一个由Google开发的开源框架,允许开发者使用Java语言来编写Web应用,然后编译成优化过的JavaScript代码...
GXT(Ext GWT)是Sencha公司推出的一个强大的JavaScript库,专为构建富互联网应用程序(RIA)设计,尤其在企业级应用中广泛使用。它基于Google的GWT(Google Web Toolkit),允许开发者使用Java语言编写客户端代码,...
在IT行业中,GXT(Ext GWT)和GWT(Google Web Toolkit)是两种流行的JavaScript库,用于构建富互联网应用程序(Rich Internet Applications, RIA)。它们都是基于Java语言的,可以提供丰富的用户界面组件和高效的...