`

GXT之旅:第八章:Portal&Drag-Drop——Portal的基本介绍

阅读更多

本章我们要了解GXT的Portal&Drag-Drop功能。我们会首先学习如何使用Portal(非常类似谷歌的iGoogle功能)布局和Portlet,然后再以实践的方式学习GXT的拖拽功能。


我们会涉及到如下GXt功能集

  • Portal
  • Portlet
  • Draggable
  • DragSource
    • GridDropTarget
    • ListViewDropTarget
    • TreeGridDropTarget
    • TreePanelDropTarget
  • ColumnLayout
  • RowLayout

Portlet class

Portlet 类继承自ContentPanel,她提供了一种特殊的panel,可以在Viewport的Portal容器里,随意的更改显示位置和大小。她很像widows系统里面的桌面应用。

新建一个Portlet的过程很类似于其他容器的创建。

 

[java] view plaincopy
  1. Portlet portlet = new Portlet();  
  2. portlet.setHeight(150);  
  3. portlet.setHeading("Example Portlet");  

运行效果如下:

 

[java] view plaincopy
  1. portal.setPinned(true);  

设置其是否可以被重置位置。除此之外,Portlet继承ContentPanel的所有功能

 

Portal class

Portal是专门为Portlet设置的容器。事实上,其容器包含了一组按照ColumnLayout布局的LayoutContainer。其中每一个LayoutContainer都包含一个Portlet,布局效果为RowLayout。

 

Portal同样支持Portlet的拖拽功能。Portal里面会有列,每一个列里面又包含行。因此就有了表格的概念,所以当新建一个Portal的时候,我们就需要在构造函数里,设置有多少列。当然还得通过setColumnWidth()方法设置其每一列的宽度。

假如,我们想创建一个两列的,分别是30%,70%宽的Portal的时候。我们会有如下代码

 

[java] view plaincopy
  1. Portal portal = new Portal(2);  
  2. portal.setColumnWidth(00.3);  
  3. portal.setColumnWidth(10.7);  

当Portal定义好了之后,我们要往每一列里放入Portlet(其宽度自动的跟着column的宽度适应,只需要设置高度既可)

 

 

[java] view plaincopy
  1. Portlet portlet1 = new Portlet();  
  2. portlet1.setHeight(150);  
  3. portlet1.setHeading("Example Portlet 1");  
  4. portal.add(portlet1, 0);  
  5.   
  6. Portlet portlet2 = new Portlet();  
  7. portlet2.setHeight(150);  
  8. portlet2.setHeading("Example Portlet 2");  
  9. portal.add(portlet2, 1);  

生成后的效果如下:

 

左右两个Portlet可以被拖拽到不同的位置。当一个Portlet正在被拖拽的时候,其效果如下

当右侧的portlet被拖拽到左侧的时候,会自动的改变宽度

 

 

ToolButton

 

正是因为Portlet继承了ContentPanel,所以我们可以在其头部添加ToolButton。这样一来,可以让Portlet在功能和显示效果上,更接近桌面的应用窗口。

[java] view plaincopy
  1. portlet.getHeader().addTool(new ToolButton("x-tool-minimize"));  
  2. portlet.getHeader().addTool(new ToolButton("x-tool-maximize"));  
  3. portlet.getHeader().addTool(new ToolButton("x-tool-close"));  

如上的三行代码,就会构建出如下的效果

分享到:
评论

相关推荐

    GXT之旅项目源码包

    由于GWT和GXT的jar包太大了,所以就删除了。相信大家会自动添加进来,让项目跑起来的。不会的,看http://blog.csdn.net/miqi770/article/details/7164391

    gxt-2.1.1-gwt2 最新的

    gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2gxt-2.1.1-gwt2

    GXT 学习的好书

    - **第一个GXT项目**:从零开始创建一个简单的GXT应用程序,熟悉基本流程。 2. **UI组件与布局管理** - **常用UI组件**:介绍GXT提供的各种UI组件,如按钮、文本框、复选框等。 - **布局管理器**:讲解如何使用...

    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——Auto Height Grid

    标题“GXT组件使用教程2——Auto Height Grid”指的是一个关于如何在GXT应用中实现自动高度调整的表格网格组件的教学。这个功能允许表格根据其内容自动调整高度,无需开发者手动设置固定的高度值。这对于显示不确定...

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

    1. **GXT组件介绍** GXT组件包括表格、表单、菜单、工具栏、树形视图等,它们都具有高度可定制性和响应式设计。Aggregation Grid是GXT中的一种高级表格组件,它不仅可以展示大量数据,还能提供数据汇总功能。 2. *...

    GXT组件使用教程3——Column Group

    在本文中,我们将深入探讨GXT组件的使用,特别是关于"Column Group"的功能。GXT,全称为Ext GWT(Google Web Toolkit的扩展),是一个强大的Java库,用于创建丰富的、高性能的JavaScript应用程序。它提供了大量的UI...

    一步一步教你新建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 Toolkit (GWT) 的JavaScript库,提供了丰富的用户界面组件和强大的数据网格功能,广泛...

    X_GXT_Editor-V-2-3_gta_

    《X_GXT_Editor-V-2-3_gta_》是一款专为《侠盗猎车手:圣安地列斯》(GTA: San Andreas)设计的GXT编辑工具,它允许玩家对游戏中的文本和语言数据进行自定义,从而实现个性化的游戏体验。GXT文件是Rockstar Games为...

    gxt-2.2.5.zip

    《GXT 2.2.5:Ext-GWT的增强工具包详解》 GXT,全称为GWT eXtension,是由EXTJS团队开发的一个用于Google Web Toolkit(GWT)的扩展库,旨在为GWT开发者提供更丰富、更强大的用户界面组件和功能。GXT 2.2.5是该系列...

    搭建简单的EXT-GWT(GXT)的开发环境(四)ext-gwt(gxt)结合google map第三版开发

    本教程将详细介绍如何搭建EXT-GWT(GXT)的开发环境,并结合Google Maps API第三版进行集成开发。 首先,我们需要准备以下基础环境: 1. **Java Development Kit (JDK)**:由于EXT-GWT是基于GWT,而GWT又是用Java...

    gxt-1.2.3.jar.zip

    标题 "gxt-1.2.3.jar.zip" 指的是一个包含GXT库的压缩文件,版本为1.2.3。GXT,全称为Google Web Toolkit EXT,是Google Web Toolkit(GWT)的一个扩展,它提供了一系列丰富的用户界面组件,用于构建功能强大的Web...

    GXT 下拉树(Combo Tree)基本实现

    GXT 下拉树(Combo Tree)基本实现GXT 下拉树(Combo Tree)基本实现GXT 下拉树(Combo Tree)基本实现GXT 下拉树(Combo Tree)基本实现GXT 下拉树(Combo Tree)基本实现GXT 下拉树(Combo Tree)基本实现GXT 下拉树(Combo ...

    Gxt_BLOG(GXt项目)

    8. **国际化与本地化(Internationalization and Localization)**:GXT支持多语言切换,方便全球化应用的开发。 9. **服务端通信(Server Communication)**:GXT与GWT一样,支持异步远程过程调用(RPC),可以...

    ext gwt gxt初学教程

    ### ExtGWT、GWT与GXT初学教程:打造企业级富客户端Web应用 #### 构建初识:ExtGWT与GWT的协同工作 ExtGWT,作为GWT(Google Web Toolkit)的有力补充,旨在为Java开发者提供更为丰富、功能全面的组件库,从而构建...

    org.liveSense.framework.gxt-1.0.5.zip

    《深入解析LiveSense GXT框架:org.liveSense.framework.gxt-1.0.5.zip》 在IT领域,开源项目一直以来都是技术创新与协作的重要驱动力。本次我们将关注一个名为"org.liveSense.framework.gxt"的开源项目,其版本为...

    gxt-2.2.3-gwt22.jar

    gxt-2.2.3-gwt22.jar包,备份以自用。

    GXT 软件包和API

    **GXT软件包和API详解** GXT,全称为GWT Ext,是基于Google Web Toolkit (GWT) 的一个强大的Java UI库。它为开发者提供了丰富的用户界面组件和功能,使得构建复杂的、企业级的Web应用程序变得更加便捷。GXT不仅在...

Global site tag (gtag.js) - Google Analytics