Swing--JTable表格

本文介绍了Java Swing中的JTable组件,用于展示和编辑二维表格数据。通过三种构造方法创建表格,包括初始化空单元格的表格、基于二维数组的表格和使用TableModel的表格。此外,还提到了如何设置表格的大小、颜色以及刷新数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JTable是一个用来显示和编辑二维表格的组件。可通过创建一个二维数组对象,将二维数组中定义并初始化的值放入表格中。
主要构造方法:

public JTable(int numRows,int numColumns)
public JTable(Object[][] rowData,Object[] columnNames)
public JTable(TableModel dm)

第一个构造方法用来构造一个具有空单元格的行和列的JTable表格,其中numRows表示表格所占的行,numColumns表示所占的列。
第二个构造方法用来构造一个可以显示二维数组rowData中的值的JTable表格。其列名称为columnNames。
第三个构造方法使用dm作为数据模型构造一个JTable表格。可以使用JTable类提供的getRowCount()方法和getColumnCount()方法返回表格的行数和列数。

指定界面中表格的大小可以使用的方法:

 public void setPreferredScrollableViewportSize(Dimension size) {
        preferredViewportSize = size;
    }
jt.setPreferredScrollableViewportSize(new Dimension(200,50));

设置和获取前景色与背景色

public Color getSelectionBackground()			//返回选定单元格的背景色
public Color getSelectionForeground()			//返回选定单元格的前景色
 public void setBackground(Color bg)				//设置选定单元格的背景色
 public void setForeground(Color fg)				//设置选定单元格的前景色

刷新表格的数据的方法
括号里是表格对象

SwingUtilities.updateComponentTreeUI(MainServerUI.table_onlineUser);

以下代码是实现TableModel接口重写的各个方法

/**
	 * 传入列数
	 */
	@Override
	public int getColumnCount() {
		// TODO Auto-generated method stub
		return n.length;
	}
	/**
	 * 传入属性名
	 */
	@Override
	public String getColumnName(int columnIndex) {
		// TODO Auto-generated method stub
		return n[columnIndex];
	}
	/**
	 * 传入行数
	 */
	@Override
	public int getRowCount() {
		// TODO Auto-generated method stub
		return sts.size();
	}
	/**
	 * 将数组中的数据传入表格
	 */
	@Override
	public Object getValueAt(int rowIndex, int columnIndex) {
		// TODO Auto-generated method stub
		return usermsg[rowIndex][columnIndex];//将数组传入表格
	}
	/**
	 * 设置表格中的数据是否可编辑
	 */
	@Override
	public boolean isCellEditable(int rowIndex, int columnIndex) {
		// TODO Auto-generated method stub
		return false;
	}
	/**
	 * 每当数据模型发生更改时,就从被通知的列表中移除一个侦听器
	 */
	@Override
	public void removeTableModelListener(TableModelListener l) {
		// TODO Auto-generated method stub
		
	}
	/**
	 * 将表格中的值设定为
	 */
	@Override
	public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
		// TODO Auto-generated method stub
		aValue=null;
		rowIndex--;
		columnIndex--;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值