📄 fleetstablemodelx.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 + -