一、TWaver table组件介绍
TWaver table组件继承了Swing中的JTable,并对JTable中的排序、分页和过滤等功能做了加强。TWaver Table Class 结构如下:
ResizableTable:
这是一个可以放缩的表。
TTable:
这类表支持排序,分页,数据过滤,他是TWaver tables(TAlarm Table、TElement Table、TTree Table)的父类。
TElementTable:
这是最经常使用的TWaver表组件,它和DataBox一起使用并能显示每一行中的元素,它支持XML文档。这个类是开发者最推崇的一个类。
TTreeTable:
这个类是TTree和TTable相结合的一个类。实现效果如下图:
二、TWaver table 的使用
1、TWaver table组件的构造器:
TTable() 默认的构造器,构造一张空表
TTable(String tableName) 构造一张定义为TWaver.XML配置名称的表
2、表的基本操作方法
TTable table = newTTable();
TTableModel model = table。GetTableModel(); //获取表的选择模型
model.addRow(new Vector()); //增加一行
model.insertRow(int index, new Vector()); //插入一行
model.removeRow(int index); //删除一行
model.clearPublishedData(); //删除所有公共的数据
model.clearRawData() ; //删除所有的行数据
model.getPublishedData(); //获取所有公共数据,包括不可见的列
model.getCurrentPageData(); //获取当前页中的公共数据,包括不可见的列
3、隐藏表中的列
第一种方法:
TTable table = new TTable();
Table.addColumn(new TTableColumn(“列名”));
Table.getColumnByName(“列名”).setVisible(false);
第二种方法:
Table.setColumnVisibleFilter(new ColumnVisibleFilter(){
Public boolean isVisible(TTableColumn column){
Return !”列名”.equals(column.getName());
}
});
4、锁定表
锁定时,发布的数据将被保留,不管你往表中插入新数据。如果出于解锁时,这行 中的数据将被重新发布
TTableModel model = table.getTableModel();
//加锁
model.lock();
//解锁
Model.unlock();
5、右击选择所有行
*激活右击选择事件的方法:
TTable.setSelectableOnRightClick(true)
*交替更换行颜色:
*隐藏表格线:
//隐藏垂直线
table.setShowVerticalLines(false);
//隐藏水平线
Table.setShowHorizontalLines(false);
6、表格行列的调整:
调整行高:
table.setRowResizable(true);
调整列宽:
table.setColumnResizable(true);
列宽自动调整:
依据表格的宽度和标题的宽度调整列宽为首选宽度.
Table.packAllColumns(true); //调整所有列的宽度
Table.packColumns(table.getTableModel().getColumnByName(“age”),true);//调整选定
的一列宽度。
7、设置表格单元格可编辑
model.getPublishColumn(index).setWrite(true);
例子如下:
8、表格渲染
Twaver提供了很多预定义的渲染器供使用,渲染器所在的包“twaver.table.renderer”.
使用如下:
9、表格排序
TWaver表中的数据可以按列排序,排序方式有递增、递减和无。单击列头可以选择排序模式,按住Ctrl并且选择需要排序的列,能实现多列排序。
l 使用table.setSortable(false)去取消表排序。默认情况下是开启排序的。
l 使用TTableColumn.setSortComparator(java.util.Comparator)自定义排序。
l 设置一列无序table.getTableModel().getColumnByName(“age”).setSortable(false);
10、表格分页
分页原理:启动分页时,所有原始数据模型将被保存在一个原始数据集中。同样,表模型将计算并保存当前数据到另一个公布数据集合中。只有公布数据才能显示在TWaver表组件中,这个过程称作“数据发布”。
Twaver.table.TTableModel类实现了twaver.table.TablePaging接口。我们能从TablePaging接口中获取分页信息。分页信息中包括 每页大小(page size)、当前页码(current page index),总页数(total page)等。
结构图:
TTableModel model = table.getTableModel();
//添加10列数据
for(int i = 0; i < 10; i++){
Vector row = new Vector();
row.addElement(""+i);
row.addElement("Description for index" + i);
model.addRow(row);
}
//设置每页大小
model.setPageRowSize(3);
//设置当前页
model.setCurrentPageIndex(2);
//获取记录总数
model.getPageTotalCount();
添加分页的导航图
//设定几个页数,0表示全部
int[] init = new int[]{20,30,50,0};
TTableNavigator navigator=new TTableNavigator(table.getTableModel(),init,true);
10、操作表中的列
增加列:
删除列:
清除所有列:
代码如下:
11、设置过滤器
过滤第三列颜色不为红色的数据,代码如下:
12、表的监听事件
表的监听事件所在包“twaver.table.TTableListener”,常用的事件有:
l rowClicked
l rowSelectionChanged
l beforeCellValueChanged
l tableUpdated
l lockedChanged
l tableDataChanged
三、元素表组件(Element Table Component)
元素表来自TWaver table,所以它继承了它的许多属性,比如:自定义列,排序,分页,锁,弹出菜单和过滤器等,元素表常用来显示TWaver element objects,元素表连接Databox并从DataBox中获取所有elements元素,并在预定义列中显示出来。
1. 从表中获取元素(Elements)
l 按行的索引值获取元素
TElementTable.getElementByBoxIndex(int row)
l 按记录获取元素
TElementTable.getElementByRowData(Vector rowData)
l 获取published Element
Public List getPublishedElement()
l 获取当前页的元素
Public List getCurrentPageElements()
l 获取选定行中的元素
table.getDataBox().getSelectionModel().getAllSelectedElement();
2. 加载数据
将数据从顶端添加。
table.setConverseIncreaseOrder(true);
3. 设置行总在顶部SendToTop Filter 和总在底部SendToBottom Filter
Public void setSendToTopFilter(SendToTopFilter sendtoFilter)
Public void setSendToBottomFilter(SendToBottomFilter sendToBottomFilter)
4. 设置元素是否可见Visible Filter
List getVisibleFilters()
Void addVisibleFilter(VisibleFilter visibleFilter)
Void removeVisibleFilter(VisibleFilter visibleFilter)
五、 使用树表组件TreeTable Component
1. 树表TreeTable是树和表的组合,
实例:table.xml
<beaninfo>
<attribute
name="name"
displayName="Name"/>
<attribute
clientPropertyKey="age"
displayName="Age"/>
</beaninfo>
定义元素类:Person.java
public class Person extends Node{
public Person(String name,int age){
this.setName(name);
this.putClientProperty("age", age);
}
public int getAge(){
String value= this.getClientProperty("age").toString();
return Integer.valueOf(value).intValue();
}
}
TreeTable.java
//定义TTreeTable
private TDataBox box = new TDataBox("TTable Example!");
TTreeTable table = new TTreeTable(box);
//设置行高
table.setRowHeight(18);
//注册元素
table.registerElementClassXML(Person.class, "/com/twaver/table/table.xml");
分享到:
相关推荐
很好的Twaver WEB学习资料,里面有相关的例子
Twaver学习案例的例子
”这说明提供的示例不仅包含核心的twaver.js库,还有与之配合的HTML文件“alarm.html”。Jetty是一个轻量级的Java Web服务器和Servlet容器,能够方便地运行Web应用程序。这意味着用户可以直接在Jetty环境下运行这个...
它可以驱动多个视图,如`twaver.controls.Tree`、`twaver.controls.Table`和`twaver.network.Network`。当`DataBox`中的数据发生变化时,这些变化会自动反映到与其关联的所有视图组件上,实现了数据和视图的双向绑定...
【标题】"Twaver java 4.1资源包(库+学习文档+javadoc)" 提供的是一个针对Twaver 4.1版本的全面学习和开发资源,这是一款基于Java的图形化建模和可视化工具。它允许开发者创建复杂的网络图表、流程图和其他图形...
通过这个"TWaver的3d图形组件库,小demo",开发者不仅可以学习到如何使用TWaver库创建3D图形,还能了解到现代Web开发中的3D数据可视化技术和最佳实践。通过研究提供的源代码,开发者可以提升自己在WebGL和JavaScript...
通过这些文件,开发者可以学习如何在HTML5环境中集成Twaver,创建交互式的可视化界面,包括添加图形元素、处理用户交互、响应事件、定制样式和布局等。同时,了解API文档可以帮助开发者掌握如何利用Twaver提供的类和...
7. `documents`:可能包含TWaver的用户手册、教程、API参考等文档,是深入学习和掌握TWaver的关键资源。 8. `lib`:库文件夹,包含了TWaver的核心库和其他依赖的第三方库,这些库文件是构建和运行TWaver应用所必需...
用户可以通过试用版的jar包进行初步体验,同时附带的Demo则能够帮助开发者更好地理解和学习如何在实际项目中运用TWaver。 【标签】"TWaver":这是此资源的关键标识,代表了TWaver库。TWaver是一个强大的图形绘制和...
Tree组件章节中,开发者将学习到如何定义树节点的样式,以及如何控制树的层次结构和排序,实现复杂的树形结构。 Table组件章节讲解了表格的列设置以及数据排序方法。 Chart组件章节介绍了多种图表组件的使用方法,...
【标题】"Twaver Web实例源码"是一个关于使用Twaver与ExtJS结合的Web应用程序开发的学习资源。Twaver是一款强大的图形化建模和可视化工具,常用于数据可视化、网络拓扑图、流程图等场景。ExtJS则是一个流行的...
NULL 博文链接:https://bianrongxin.iteye.com/blog/1474676
### TWaver图形界面之道——关键知识点解析 #### 一、TWaver概述 TWaver是一款专为图形用户界面(GUI)开发而设计的组件产品。它不仅适用于电信行业的网络管理系统(NMS),同样适用于非电信领域的各类图形化界面...
通过学习和研究这些代码,开发者可以快速掌握TWaver的用法,将其应用到实际项目中。 综上,TWaver HTML5开发指南代码是开发人员构建高效、互动的拓扑工具和机房展示应用的重要资源,它简化了HTML5环境下的可视化...
- **数据容器之事件机制**:通过事件监听器机制来响应数据容器的状态变化。 - **快速查找-QuickFinder**:提供高效的查询方法来定位特定的数据元素。 - **选中模型-SelectionModel**:管理当前选中的数据元素集。...
通过上述内容的学习和实践,你可以熟练地使用Twaver构建出专业且功能丰富的可视化应用,无论是电信行业的网络管理还是其他领域的复杂系统展示,Twaver都能成为你的得力工具。在实际操作中,结合压缩包内的资源,按照...
《TWaver Java 3.7 开发者指南》是一份详尽的技术文档,旨在为开发者提供使用TWaver Java 3.7版本进行网络、...通过深入学习这份指南,开发者能够充分利用TWaver Java的强大功能,创造出既美观又实用的应用程序界面。
### TWaver for Flex 开发手册知识点总结 #### 一、TWaver for Flex 概述 TWaver for Flex 是一款由 Serva Software 开发的高级图形组件库,它为 Flex 应用程序提供了一系列丰富的图形控件和服务。这些控件允许...