JTable适配(AbstractTableModel)

本文介绍了一个使用Java Swing实现的游戏排行榜展示方法。通过定义GameRank类存储玩家排名信息,并利用JTable和自定义的TableModel将排行榜数据显示在界面上。具体实现了从ArrayList<GameRank>获取数据并填充到JTable的过程。

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

import java.util.ArrayList;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;


/** 排行类型, 调用TableAdd()函数将GameRank类型数据在Jtab中展示 */
public class GameRank
{
	public int top;		// 名次
	public String name;	// 名字
	public int score;	// 战斗力
	
	public GameRank(){}
	
	
	//---------------------------------------------------------------------
	// JTable适配(AbstractTableModel)
	
	
	/** 将ArrayList<GameRank> list,中的数据在 JTable中展示 */
	public static void TableAdd(JTable table, ArrayList<GameRank> list)
	{
		table.setModel(new TableModel(list));
	}
	
	/** GameRank数据在JTab中展示的适配模版 */
	public static class TableModel extends AbstractTableModel
	{
		private static final long serialVersionUID = 1L;
		String[] ColumnNames = new String[] { "名次", "对象名称", "战斗力" };	// GameRank变量 列名
		
		ArrayList<GameRank> list = null;		// 待展示的GameRank数据
		public TableModel(ArrayList<GameRank> list)
		{
			this.list = list;
		}
		
		// 列名
		@Override
		public String getColumnName(int column)
		{
			return ColumnNames[column];
		}
		
		// 列数
		@Override
		public int getColumnCount()
		{
			return ColumnNames.length;
		}
		
		// 行数
		@Override
		public int getRowCount()
		{
			return list.size();
		}
		
		// 坐标处值
		@Override
		public Object getValueAt(int rowIndex, int columnIndex)
		{
			int i = columnIndex;
			GameRank elem = list.get(rowIndex);
			if (elem != null)
			{
				switch (i)
				{
					case 0:
						return elem.top;
					case 1:
						return elem.name;
					case 2:
						return elem.score;
				}
			}
			
			return null;
		}
	}
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值