欢迎来到天天文库
浏览记录
ID:11735993
大小:252.50 KB
页数:14页
时间:2018-07-13
《javafx2.0 表格框tableview》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JavaFXSDKAPI在的好几个类都被设计来以表格形式呈现数据。在JavaFX应用中创建表格的最重要类是TableView, TableColumn , 和TableCell 。可以通过实现数据模型或者应用一个细胞工厂来产生表格。表格的类提供了内置的功能来在必要的时候进行数据排序和重置大小。Figure13-1 是一个典型的表格,用来呈现地址簿中的联系人信息。Figure13-1TableSampleDescriptionof"Figure13-1TableSample" 创建Table Example13-1 中的代码块创建了一个空表格,它带有3列。然后被加入了应用的场景中
2、。 Example13-1AddingaTableimportjavafx.application.Application;importjavafx.geometry.Insets;importjavafx.scene.Group;importjavafx.scene.Scene;importjavafx.scene.control.Label;importjavafx.scene.control.TableColumn;importjavafx.scene.control.TableView;importjavafx.scene.layout.VBox;importjavaf
3、x.scene.text.Font;importjavafx.stage.Stage;publicclassMainextendsApplication{privateTableViewtable=newTableView();publicstaticvoidmain(String[]args){launch(args);}@Overridepublicvoidstart(Stagestage){Scenescene=newScene(newGroup());stage.setTitle("TableViewSample");stage.setWidth(400);stage.
4、setHeight(500);finalLabellabel=newLabel("AddressBook");label.setFont(newFont("Arial",20));TableColumnfirstNameCol=newTableColumn("FirstName");TableColumnlastNameCol=newTableColumn("LastName");TableColumnemailCol=newTableColumn("Email");table.getColumns().addAll(firstNameCol,lastNameCol,email
5、Col);finalVBoxvbox=newVBox();vbox.setSpacing(5);vbox.getChildren().addAll(label,table);vbox.setPadding(newInsets(10,0,0,10));((Group)scene.getRoot()).getChildren().addAll(vbox);stage.setScene(scene);stage.show();}} 表格控件是通过实例化TableView 类创建的。在 Example13-1 中,它被加入到了VBox 布局容器中,然而,你可以直接把它加入应用场景中。E
6、xample13-1 定义了三列来存储地址簿中的以下信息:某个联系人的名和姓还有电邮地址。列是用TableColumn 类创建的。TableView 类的getColumns 方法把前面创建的列加入到表格中。在应用中,可以用这个方法动态的添加和移除列。编译运行的效果如下Figure13-2 .Figure13-2TableWithoutDataDescriptionof"Figure13-2TableWithoutData" 可以通过调用setVisible 方法来管理列的可视性。比如说,你应用的逻辑要求隐藏用户电邮地址,可以这样达到目的:emailCol.setVisible
7、(false) .如果数据要求更复杂的数据呈现结构,可以创建内嵌的列。比如,如果地址簿中的联系人有两个email账户,就需要两列来展示首选和次要地址了。创建两个子列,然后在emailCol 上调用getColumns 方法,见 Example13-2 .Example13-2CreatingNestedColumnsTableColumnfirstEmailCol=newTableColumn("Primary");TableColumnsecondEmailCol=newTableColu
此文档下载收益归作者所有