Java创建表格实例详解 原创

表格是最常用的数据统计形式之一,在 swing 中 由 JTable 类实现表格。接下来,我们看看怎么利用 JTable 创建表格。

在 JTable 类中除了默认的构造方法外,还提供了利用指定表格列名数组和表格数据数组创建表格的构造方法,代码如下:

JTable(Object[][] rowDate,Object[] columnNames)

参数说明:

        rowDate:封装表格数据的数组。

        columnNames:封装表格列名的数组。

在使用表格时,通常将其添加到滚动面板中,然后将滚动面板添加到相应的位置。下面看一个例子。

        实例1:创建可以滚动的表格。

本实例利用构造方法 JTable(Object[][] rowDate,Object[] columnNames)创建了一个表格,并将表格添加到了滚动面板中,代码如下:

public class ExampleFrame_01 extends JFrame{
	public static void main(String[] args) {
		ExampleFrame_01 frame = new ExampleFrame_01();
		frame.setVisible(true);
	}
	public ExampleFrame_01() {
		super();
		setTitle("创建可以滚动的表格");
		setBounds(100,100,240,150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		String[] columnNames = {"A","B"};    //定义表格列明数组
		//定义表格数据数组
		String[][] tableValues = {{"A1","B1"},{"A2","B2"},{"A3","B3"},
				{"A4","B4"},{"A5","B5"},{"A5","B5"},{"A5","B5"},{"A5","B5"},
				{"A5","B5"},{"A5","B5"},{"A5","B5"},{"A5","B5"},{"A5","B5"},
				{"A5","B5"},{"A5","B5"}};
		//创建指定列明和数据的表格
		JTable table = new JTable(tableValues,columnNames);
		//创建显示表格的滚动面板
		JScrollPane scrollPane = new JScrollPane(table);
		//将滚动面板添加到边界布局的中间
		getContentPane().add(scrollPane, BorderLayout.CENTER);
	}

}

运行本实例,适当调整窗体高度,将出现滚动条。

在 JTable 类中还提供了利用指定表格列名向量和表格数据向量创建表格的构造方法,代码如下:

JTable(Vector rowData.Vector columnNames)

参数说明:

        rowDate:封装表格数据的向量;

        columnNames:封装表格列名的向量。

在使用表格时,有时并不需要使用滚动条,即在窗体中可以显示出整个表格,在这种情况下,也可以直接将表格添加到相应的容器中。

        实例2:创建不可滚动的表格。

本实例利用构造方法 JTable(Vector rowData, Vector columnNames)创建了一个表格,并将表格直接添加到了容器中,代码如下:

public class ExampleFrame_02 extends JFrame{
	public static void main(String[] args) {
		 ExampleFrame_02 frame = new ExampleFrame_02();
		 frame.setVisible(true);
	}
	public ExampleFrame_02() {
		super();
		setTitle("创建不可滚动的表格");
		setBounds(100,100,240,150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Vector<String>columnNameV = new Vector<>();
		columnNameV.add("A");
		columnNameV.add("B");
		Vector<Vector<String>>tableValueV = new Vector<>();
		for(int row = 1;row<6;row++) {
			Vector<String>rowV = new Vector<>();
			rowV.add("A"+row);
			rowV.add("B"+row);
			tableValueV.add(rowV);
		}
		//创建指定表格列名和表格数据的表格
		JTable table = new JTable(tableValueV,columnNameV);
		//将表格添加到边界布局的中间
		getContentPane().add(table,BorderLayout.CENTER);
		JTableHeader tableHeader = table.getTableHeader();
		getContentPane().add(tableHeader,BorderLayout.NORTH);
	}

}

运行本实例,当上下调整窗体高度时,不会出现滚动条。如果将上面代码中的最后两行去掉,再次运行,会发现新的窗体中表格没有列名。

总结

以上就是关于创建可滚动和不可滚动的表格的方法和相关实例,希望对大家有所帮助。

感谢大家对我们的支持!

(0)

相关推荐

  • Java利用POI实现导入导出Excel表格示例代码

    介绍 Jakarta POI 是一套用于访问微软格式文档的Java API.Jakarta POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,在各种组件中目前只有用于操作Excel的HSSF相对成熟.官方主页http://poi.apache.org/index.html,API文档http://poi.apache.org/apidocs/index.html 实现 已经在代码中加入了完整的注释. import java.io.FileInputSt

  • Java实现操作excel表格

    最近老师布置了个任务,用Java对excel后缀名为xlsx的文件进行简单的增,删,改,查操作:虽说是个简单的程序,可作为刚接触的我来说还是有些磕磕碰碰.不过好在还是完成了,进行一个简单的总结. 首先导入了一个poi.jar 网上有很多这个资源可以下载 XSSFSheet sheet=null; XSSFWorkbook book=null; 一:查  (查找本地指定位置的excel表格,在控制台输出) public void print_excel(){ //获取excel表格的行数 int

  • Java easyui树形表格TreeGrid的实现代码

    自己搞了一下午,终于用JAVA实现了数据网格.记录一下实现的代码.(PS:此处的easyui是1.5版本,楼主只贴了核心的代码) 实现图 JSP页面 <head> //权限列表 $( document ).ready(function(){ var parentId = 0; $('#tt').treegrid({ url:'queryPrivilege.action?parentId='+parentId, idField:'id', treeField:'RecordStatus', co

  • Java Swing中的表格(JTable)和树(JTree)组件使用实例

    一:表格(JTable): 1.基本概念: 表格(JTable)是Swing 新增加的组件,主要是为了将数据以表格的形式显示.给显示大块数据提供了简单的机制. 2.常用构造方法: * JTable():使用系统默认的模型创建一个JTable 实例.  * JTable(int numRows,int numColumns):创建一个使用DefaultTableModel 指定行.列的空表格.  * JTable(Object[ ][ ] rowData,Object[ ][ ] columnNa

  • java在pdf中生成表格的方法

    1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储生成的pdf文件(文件夹的命名是年月日时间戳),如:20151110 生成的文件可能在毫秒级别,故文件的命名规则是"到毫秒的时间戳-uuid",如:20151110100245690-ece540e5-7737-4ab7-b2d6-87bc23917c8c.pdf 通过读取properti

  • Java创建表格实例详解 原创

    表格是最常用的数据统计形式之一,在 swing 中 由 JTable 类实现表格.接下来,我们看看怎么利用 JTable 创建表格. 在 JTable 类中除了默认的构造方法外,还提供了利用指定表格列名数组和表格数据数组创建表格的构造方法,代码如下: JTable(Object[][] rowDate,Object[] columnNames) 参数说明:         rowDate:封装表格数据的数组.         columnNames:封装表格列名的数组. 在使用表格时,通常将其添

  • Java多线程ForkJoinPool实例详解

    引言 java 7提供了另外一个很有用的线程池框架,Fork/Join框架 理论 Fork/Join框架主要有以下两个类组成. * ForkJoinPool 这个类实现了ExecutorService接口和工作窃取算法(Work-Stealing Algorithm).它管理工作者线程,并提供任务的状态信息,以及任务的执行信息 * ForkJoinTask 这个类是一个将在ForkJoinPool执行的任务的基类. Fork/Join框架提供了在一个任务里执行fork()和join()操作的机制

  • java 内部类的实例详解

    java 内部类的实例详解 可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类. public class OuterClass { private String name ; private int age; public String getName() { return name; } p

  • java 实现双向链表实例详解

    java 实现双向链表实例详解 双向链表是一个基本的数据结构,在Java中LinkedList已经实现了这种结构,不过作为开发者,也要拥有自己显示这种结构的能力.话不多说,上代码:     首先是链表的节点类: /** * 链表节点 * @author Administrator * * @param <T> */ public class ChainNode<T> { private T data; //对象编号 private int dataNo; public ChainN

  • JAVA 多线程爬虫实例详解

    JAVA 多线程爬虫实例详解 前言 以前喜欢Python的爬虫是出于他的简洁,但到了后期需要更快,更大规模的爬虫的时候,我才渐渐意识到Java的强大.Java有一个很好的机制,就是多线程.而且Java的代码效率执行起来要比python快很多.这份博客主要用于记录我对多线程爬虫的实践理解. 线程 线程是指一个任务从头至尾的执行流.线程提供了运行一个任务的机制.对于Java而言,可以在一个程序中并发地启动多个线程.这些线程可以在多处理器系统上同时运行. runnable接口 任务类必须实现runna

  • java 单例模式的实例详解

    java 单例模式的实例详解 概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种. 单例模式有一下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一实例. 3.单例类必须给所有其他对象提供这一实例. 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或少具有资源管理器的功能.每台计算机可以有若干个打

  • Java List 用法实例详解

    Java List 用法实例详解 Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引 ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步 LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快) Vector:底层

  • java 抽象类的实例详解

    java 抽象类的实例详解 前言: 什么是抽象类?这名字听着就挺抽象的,第一次听到这个名字还真有可能被唬住.但是,就像老人家所说的,一切反动派都是纸老虎,一切有着装x名字的概念也是纸老虎.好吧,我们已经从战略上做到了藐视它,现在就要战术上重视它,如同要解决纸老虎,就要一个牙齿一个牙齿地敲,一个爪子一个爪子地拔:解决这种抽象概念也一样,先要把它具体化,细分化,然后一个一个地来. 我一般遇到新的概念都会问三个问题: 1.这个东西有什么用?用来干什么的?它的意义在哪里?(显然,如果是没用的东西,就没必

  • Java 多线程优先级实例详解

    Java 多线程优先级实例详解 线程的优先级将该线程的重要性传递给调度器.尽管CPU处理现有线程集的顺序是不确定的,但是调度器将倾向于让优先权最高的线程先执行. 你可以用getPriority()来读取现有线程的优先级,并且在任何时刻都可以通过setPriority()来修改优先级. import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class SimplePrio

  • java LinkedList的实例详解

    java LinkedList的实例详解 站在Java的角度看,玩队列不就是玩对象引用对象嘛! 实例代码: public class LinkedList<E> implements List<E>, Deque<E> { Node<E> first; Node<E> last; int size; public boolean add(E e) { final Node<E> l = last; final Node<E>

随机推荐