`
huangfeiNetJava
  • 浏览: 40788 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JTable略解

 
阅读更多

 

javax.swing
类 JTable

java.lang.Object
  java.awt.Component
      java.awt.Container
          javax.swing.JComponent
              javax.swing.JTable

     常用构造方法:

 

JTable()
          构造一个默认的 JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化。
JTable(int numRows, int numColumns)
          使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable

JTable(TableModel dm)
          构造一个 JTable,使用数据模型 dm、默认的列模型和默认的选择模型对其进行初始化。

 

我觉得最后一种构造方法最好,原因其实很简单,就因为这个构造方法可以让自己定义的JTable类对象有更多的功能

 

关于TableModel:

 

 void addTableModelListener(TableModelListener l)
          每当数据模型发生更改时,就将一个侦听器添加到被通知的列表中。
 Class<?> getColumnClass(int columnIndex)
          针对列中所有的单元格值,返回最具体的超类。
 int getColumnCount()
          返回该模型中的列数。
 String getColumnName(int columnIndex)
          返回 columnIndex 位置的列的名称。
 int getRowCount()
          返回该模型中的行数。
 Object getValueAt(int rowIndex, int columnIndex)
          返回 columnIndexrowIndex 位置的单元格值。
 boolean isCellEditable(int rowIndex, int columnIndex)
          如果 rowIndexcolumnIndex 位置的单元格是可编辑的,则返回 true。
 void removeTableModelListener(TableModelListener l)
          每当数据模型发生更改时,就从被通知的列表中移除一个侦听器。
 void setValueAt(Object aValue, int rowIndex, int columnIndex)
          将 columnIndexrowIndex 位置的单元格中的值设置为 aValue

TableModel是一个接口,所以要使用它的话得全部实现其方法。

我们更常用的是TableModel的一个实现类AbstractTableModel,需要的方法只需从写即可。

 

如果table太大的话,我们可以把JTable对象放在一个JScrollPane里。

 

JTable的getColumnName方法可以设置表头信息,但有一个有趣的现象:表头信息在将JTable对象放在JScrollPane里才能显示(当然该有其他的方法让表头信息显示,但会复杂)。如果不做处理的话,表头信息是看不到的。

 

在做服务端的时候,我们需要一个表格(JTable)来将客户端信息表示出来,但是,要实现“一个客户端上线,表格增加一条记录”的功能,那么可以用这样的方法:

     在TableModel里定义一个int row记录行数。

     然后定义一个方法addRow()用来增加一行。

 但之中有几点要注意的:
   1.用JTable显示客户端信息的时候,要用一个队列保存所有客户端的信息,然后再setValueAt方法里用

public Object getValueAt(int rowIndex, int columnIndex) {
		// 第几行,就是列表中的第几个UserInfo对象
		if (ChatTools.userInfoList.size() == 0) {
			return null;
		}
		if (rowIndex < ChatTools.userInfoList.size()) {
			UserInfo user = ChatTools.userInfoList.get(rowIndex);
			if (columnIndex == 0) {
				return user.getName();

			}
			if (columnIndex == 1) {
				return user.getPwd();
			} else {
				return "出错!";
			}
		}
		return null;
	}

 

这样就可以将所有客户端的信息显示到表格上。

 

   也许,有一个细节我们会忘记,那就是刷新表格,我尝试了很多种方法,最后管用的只有updateUI()方法,推荐使用。

 

  当然还可以给表格添加监听,这就不扯了,又到事件监听方面了。

分享到:
评论

相关推荐

    JTable使用 JTable使用

    JTable使用 JTable使用JTable使用JTable使用

    JTable

    JTable的显示效果

    JTable动态刷新数据

    JTable 动态刷新数据 JTable 动态刷新数据是指在 Java Swing 应用程序中,使用 JTable 组件展示数据,并实时更新数据的过程。这种技术在很多实际应用场景中非常有用,如股票交易平台、实时监控系统、电子表格等。 ...

    jTree和jTable 双向联动

    实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。

    JTable 练习例子exa

    在Java Swing库中,`JTable`是一个非常重要的组件,用于在GUI应用程序中展示表格数据。它是`javax.swing.JTable`类的实例,提供了一个可交互的二维数据视图,允许用户浏览、编辑和操作表格中的数据。这个"JTable ...

    JTable的使用收藏

    JTable的使用收藏 1.JTable与TableModel 1.TableModel与JTable的关系 2.TableModel实践 3.使用JTable+TableModel展示java中的数据对象 2.JTable展示方式的美化 1.设置表格的宽度和高度 2.要显示表头 3.新加列,将...

    java 中 Jtable的用法

    ### Java中的JTable用法详解 #### 一、概述 JTable是Swing框架中用于显示和编辑表格数据的关键组件之一。它不仅提供了强大的数据管理功能,还支持丰富的定制选项,使得开发者能够根据具体需求创建出高度个性化的...

    JTable自动换行

    在Java的Swing库中,`JTable`是用于创建二维数据展示的组件,它类似于电子表格。在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即...

    支持ResultSet的JTable

    在Java编程中,`JTable`是Swing库中的一个组件,用于在用户界面中展示二维表格数据。它常用于创建交互式的表格,允许用户查看和编辑数据。当我们从数据库查询数据并希望在用户界面上直观地显示这些数据时,`...

    jtable详解

    ### Swing之JTable详解 在Java的图形用户界面(GUI)开发中,Swing库提供了丰富的组件以构建桌面应用程序,其中`JTable`是用于展示和编辑表格数据的关键组件。以下是对`JTable`的深入解析,包括其构造、属性、事件...

    Swing之JTable的详细介绍

    Swing中的JTable组件是Java GUI开发中用于展示表格数据的重要工具,它是Swing库中的一个核心组件。JTable能够方便地创建和管理表格数据,同时也支持用户交互,如编辑单元格、排序、选择行等操作。下面我们将深入探讨...

    swing Jtable使用checkbox

    swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...

    JTable的初步编程

    在Java Swing库中,`JTable`是一个非常重要的组件,用于在GUI应用程序中展示数据集。它是`javax.swing.JTable`类的一个实例,可以用来显示和编辑表格数据。本教程将针对`JTable`的初步编程进行讲解,尤其适用于...

    JTable的介绍.doc

    在Java Swing中,`JTable`是用于展示数据的组件,通常用于创建类似电子表格的用户界面。`JTable`是`javax.swing.JTable`类的实例,它是`JComponent`的子类,因此继承了`Component`和`Container`的特性。`JTable`能够...

    JTable添加CheckBox

    在Java Swing中,`JTable` 是用于展示二维数据的组件,它允许用户查看和编辑数据。本示例探讨如何在`JTable`中添加`CheckBox`,并实现表头的`JCheckBox`全选联动功能。这在需要用户进行多选操作的界面中非常常见,...

    Java JTree+JTable应用

    在Java Swing库中,`JTree`和`JTable`是两种非常重要的组件,用于创建用户界面。`JTree`通常用于展示层次化的数据结构,而`JTable`则适用于二维表格数据的显示和操作。本项目是关于如何在Java应用程序中结合使用这两...

    mvc+Jquery-jTable

    **MVC + jQuery jTable 知识点详解** `MVC`(Model-View-Controller)是一种广泛用于Web应用开发的设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在ASP.NET MVC...

    JAVA中JTable的使用方法

    在Java编程环境中,`JTable`是Swing库中的一个核心组件,用于展示二维数据集,通常用于创建表格视图。这个组件对于用户界面(UI)设计尤其重要,尤其是在需要显示和编辑数据库或其他数据源数据时。下面我们将深入...

    JAVA JTREE JTABLE实例代码

    在Java Swing库中,JTree和JTable是两个非常重要的组件,它们被广泛用于构建用户界面,特别是处理数据展示和交互。JTree用于显示层次结构的数据,而JTable则适用于二维表格形式的数据展现。 首先,我们来深入了解...

    不错的jquery插件jtable

    **jQuery 插件 jtable 知识详解** `jtable` 是一个强大的 jQuery 插件,它为 web 开发者提供了构建数据驱动的表格的简便方法。jtable 的设计目标是简化数据展示、编辑和管理的过程,使得在 ASP.NET MVC 框架下开发...

Global site tag (gtag.js) - Google Analytics