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)));
   }
}

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

目录
相关文章
|
10月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
696 5
|
11月前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
1374 0
|
人工智能 JavaScript Java
java表格识别PaddleOcr总结
本文介绍了使用OpenCV和PaddleOCR进行表格识别的方法。通过OpenCV进行图像处理,并利用PaddleOCR进行文字识别。文中详细描述了在Windows和Linux环境下搭建PaddleOCR环境的过程,包括解决CMake依赖问题、生成DLL文件等。此外,还提供了C++代码示例说明如何导出识别结果,并探讨了Java环境下使用JNA进行复杂对象传递遇到的问题及解决方案。作者分享了在表格识别项目中的实践经验,包括处理模型转换和优化等方面的挑战。
404 5
java表格识别PaddleOcr总结
|
Java Apache Maven
java读取doc里的表格
java读取doc里的表格
257 9
|
前端开发 Oracle Java
Java中的GUI应用开发技术选型
Java中的GUI应用开发技术选型
|
Java Apache Android开发
Java中的GUI界面设计与用户体验优化
Java中的GUI界面设计与用户体验优化
|
前端开发 Java 开发工具
Java GUI编程:跨平台应用的设计与开发
Java GUI编程:跨平台应用的设计与开发
|
Java 数据安全/隐私保护 容器
Java详解:GUI容器组件 | 功能组件
Java详解:GUI容器组件 | 功能组件
198 0
|
Java 容器
Java详解:GUI图形用户界面设计—容器组件及面板布局方式
Java详解:GUI图形用户界面设计—容器组件及面板布局方式
357 0
|
前端开发 Java 调度
优化Java中图形界面设计的技巧
优化Java中图形界面设计的技巧