JAVA图形界面(GUI)之表格

原创 2016年01月03日 21:02:43

表格(JTable)是我们在GUI开发中很常用的一个组件。表格在可视化编程中用于显示信息,在Swing编程中非常有用,当要显示大量数据时,用表格可以清晰的显示出来。
本篇博客将演示JTable的基本用法。

构造方法:

方法名 说明
JTable() 构造一个默认的 JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化
JTable(int numRows, int numColumns) 使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable
JTable(Object[][] rowData, Object[] columnNames) 构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames
JTable(TableModel dm) 构造一个 JTable,使用数据模型 dm、默认的列模型和默认的选择模型对其进行初始化
JTable(TableModel dm, TableColumnModel cm) 构造一个 JTable,使用数据模型 dm、列模型 cm 和默认的选择模型对其进行初始化
JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) 构造一个 JTable,使用数据模型 dm、列模型 cm 和选择模型 sm 对其进行初始化
JTable(Vector rowData, Vector columnNames) 构造一个 JTable 来显示 Vector 所组成的 Vector rowData 中的值,其列名称为 columnNames

使用示例:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.MessageFormat;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 * 表格示例
 * 
 * @author jianggujin
 *
 */
public class TableDemo extends JFrame
{
   // 默认表格模型
   private DefaultTableModel model = null;
   private JTable table = null;

   private JButton addBtn = null;

   public TableDemo()
   {
      super("TableDemo");
      String[][] datas = {};
      String[] titles = { "列一", "列二" };
      model = new DefaultTableModel(datas, titles);
      table = new JTable(model);

      addBtn = new JButton("添加数据");
      addBtn.addActionListener(new ActionListener() {

         @Override
         public void actionPerformed(ActionEvent e)
         {
            model.addRow(new String[] { getRandomData(), getRandomData() });
         }
      });

      add(addBtn, BorderLayout.NORTH);
      add(new JScrollPane(table));

      setSize(400, 300);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);

   }

   public static void main(String[] args)
   {
      new TableDemo();
   }

   /**
    * 获得随机字符串,该方法仅用于获得随机字符串,可以忽略
    * 
    * @return
    */
   private String getRandomData()
   {
      String source = "0123456789abcdefghijklmnopqrstuvwxyz";
      int len = source.length();
      Random random = new Random(System.currentTimeMillis());
      return MessageFormat.format("{0}{0}{0}", source.charAt(random.nextInt(len)));
   }
}

运行效果:
这里写图片描述

版权声明:本文为博主原创文章,转载请标明出处。

java实现简单的表格显示

原文地址 http://blog.chinaunix.net/uid-25422700-id-202241.html 非常感谢原文作者: ruanjwei2011 有时候需要在一张...
  • lijia11080117
  • lijia11080117
  • 2016年10月27日 11:58
  • 2322

java表格控件JTable常用操作详解

这是转载。。由于已经被转载了N手,我也不知道到底出处是了,我是从下面的连接找到的 http://hi.baidu.com/tejingdream/item/7186804b5f1de8a5de2a9...
  • liyanchen78
  • liyanchen78
  • 2013年04月03日 16:06
  • 12449

JAVA之表格

表格实现的功能是,固定的日期栏,移动的商品栏,选中日期行,相应的选中商品行,同样选中商品行,相应的选中日期行 import java.awt.BorderLayout; import...
  • xinwen1995
  • xinwen1995
  • 2016年07月31日 12:14
  • 212

Javaweb表格加载---DataTable

现在的web开发,可以这么说没有一个项目是不需要Ajax的,因为Ajax给我们提供了良好的视觉效果。因为有了他我们在不刷新页面的前提下改变页面上的数据!! Ajax技术的产生 什么叫Ajax,...
  • u013132051
  • u013132051
  • 2017年02月27日 19:43
  • 1852

Java 图形用户界面-表格组件

/** 作者:wwj 日期:2012/4/15 功能:创建一个表格 **/ import java.awt.*; import javax.swing.*; public class JTb1 e...
  • wwj_748
  • wwj_748
  • 2012年04月15日 17:20
  • 9219

利用java创建Excel表格步骤

第一步:创建一个web project工程,建一个包,在包下建一个java文件 第二步:将Excel的四个要用的夹包导入工程中,这四个夹包是97版的和07版的 poi-3.14-20160...
  • miachen520
  • miachen520
  • 2016年07月27日 17:08
  • 6498

java操作excel表格

  • 2014年11月11日 16:42
  • 688KB
  • 下载

java表格jtable源码

  • 2015年02月28日 14:54
  • 73KB
  • 下载

java表格的使用 单元格绘制

JTable单元格是由单元格绘制器绘制出来的,这是一些执行TableCellRenderer接口的类。TableCellRenderer接口定义了唯一的getTableCellRendererComp...
  • as965476459
  • as965476459
  • 2017年04月18日 09:35
  • 1056

Java表格模型事件示例

package com.han; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Point; im...
  • Gaowen_HAN
  • Gaowen_HAN
  • 2012年07月12日 05:28
  • 6793
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA图形界面(GUI)之表格
举报原因:
原因补充:

(最多只允许输入30个字)