JAVA图形界面(GUI)之表格-阿里云开发者社区

开发者社区> 蒋固金> 正文

JAVA图形界面(GUI)之表格

简介:
+关注继续查看

表格(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)));
   }
}

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android官方开发文档Training系列课程中文版:OpenGL绘图之图形定义
原文地址:http://android.xsoftlab.net/training/graphics/opengl/shapes.html 使用OpenGL绘制图形的第一步就是要定义一个图形。
706 0
Python编程语言学习:如何将excel表格内的科学计数法转为常规数值并全部显示?
Python编程语言学习:如何将excel表格内的科学计数法转为常规数值并全部显示?
9 0
ArcGIS API for Javascript 3.21地图开发实例(一、图形绘制和删除及popup弹出层)
前言 Arcgis是一个地理系统的平台,可用来进行数据数据展示或二次开发。这里我们所使用的是Arcgis对于JavaScript的api,也就是web端的api进行开发。
9561 0
《JavaScript高效图形编程(修订版)》——第6章 HTML5画布 6.1 画布的支持
大部分流行的浏览器都支持画布元素,包括Firefox、Chrome、Opera和Safari。2010年7月1日,微软通过IE9开发博客宣布其最新的浏览器会支持画布。事实上,该公司甚至为画布支持提供了硬件加速。
1105 0
《JavaScript高效图形编程(修订版)》——6.2 位图、矢量图,或两者兼而有之?
位图图像(如无所不在的JPEG格式)是不同颜色的像素组成的网格。它们不能很好地进行缩放,当放大时将看到明显的方块,而缩小时将损失信息。这是因为单个像素不是被放大了就是被丢失了。有些画布实现可以通过使用模糊滤波来降低这种不良效应。位图最适用于有着大量细节的摄影风格的图像。
1195 0
《JavaScript高效图形编程(修订版)》——6.3 画布限制
同样,你不能给画布中绘制的元素添加事件(如鼠标点击),因为它们并不是有形的实体,而只是瞬态的绘图操作。你必须通过编程来实现这样的功能。
1172 0
+关注
115
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载