⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fleetstablemodelx.java

📁 Java mulitplayer strategy game. Adaptation of KDE Galaxy Conquest. (rules are changed - but still th
💻 JAVA
字号:
package net.sf.jawp.gui.client.data;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import net.sf.jawp.api.domain.Fleet;
import net.sf.jawp.client.GameData;

/**
 * Implementation of sortable table model for fleets.
 * @author jarek
 * @version $Revision$
 *
 */
public final class FleetsTableModelX extends SortingTableModel<Fleet>
{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	//private static final Log LOG = Log.getLog(FleetsTableModelX.class);
	
	private final GameData gameDataManager;

	public FleetsTableModelX(final GameData mgr)
	{
		this.gameDataManager = mgr;
	}

	@Override
	protected List<SortableColumn<Fleet>> createColumns()
	{
		final ArrayList<SortableColumn<Fleet>> result = new ArrayList<SortableColumn<Fleet>>(
				3);
		result.add(new TargetPlanetNameColumn());
		result.add( new FleetSizeColumn());
		result.add( new FleetDistanceColumn());
		return result;

	}

	@Override
	protected Collection<Fleet> retrieveObjects()
	{
		final Collection<Fleet> result =  this.gameDataManager.getOwnFleets();
		//assert LOG.debug("refreshing FT:" + result.size());
		return result;
	}

	private final class TargetPlanetNameColumn  extends DefaultSortableColumn<Fleet>

	{

		public String getName()
		{
			return "target";
		}


		public Object getValue(final Fleet entity)
		{
			return entity.getTarget().getEntity(
					gameDataManager.getPlanetResolver()).getName();
		}

		public int compare(final Fleet o1, final Fleet o2)
		{
			final String a1 = o1.getTarget().getEntity(
					gameDataManager.getPlanetResolver()).getName();
			final String a2 = o2.getTarget().getEntity(
					gameDataManager.getPlanetResolver()).getName();
			return a1.compareTo(a2);
		}

	}

	private final class FleetSizeColumn extends DefaultSortableColumn<Fleet>
			

	{

		public String getName()
		{
			return "size";
		}

		

		public Object getValue(final Fleet entity)
		{
			return entity.getSize();
		}

		public int compare(final Fleet o1, final Fleet o2)
		{
			final int d1 = o1.getSize();
			final int d2 = o2.getSize();
			return d1 - d2;
		}

	}

	private static class FleetDistanceColumn extends DefaultSortableColumn<Fleet>
			

	{

		public String getName()
		{
			return "time";
		}

		

		public Object getValue(final Fleet entity)
		{
			return GameData.convertTimeToString((int)entity.getTimeToGo());
		}

		public int compare(final Fleet o1, final Fleet o2)
		{
			final float d1 = o1.getTimeToGo();
			final float d2 = o2.getTimeToGo();

			return Float.compare(d1, d2);
		}

		public boolean hasChanged(final Fleet old, final Fleet newObject)
		{
			return true;
		}
	}
	
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -