2 * Village icon renderer for JTree
\r
4 * Copyright(c) 2008 olyutorskii
\r
5 * $Id: VillageIconRenderer.java 888 2009-11-04 06:23:35Z olyutorskii $
\r
8 package jp.sourceforge.jindolf;
\r
10 import java.awt.Component;
\r
11 import java.net.URL;
\r
12 import javax.swing.ImageIcon;
\r
13 import javax.swing.JTree;
\r
14 import javax.swing.tree.DefaultTreeCellRenderer;
\r
19 @SuppressWarnings("serial")
\r
20 public class VillageIconRenderer extends DefaultTreeCellRenderer{
\r
22 private static final ImageIcon ICON_PROLOGUE;
\r
23 private static final ImageIcon ICON_PROGRESS;
\r
24 private static final ImageIcon ICON_EPILOGUE;
\r
25 private static final ImageIcon ICON_GAMEOVER;
\r
26 private static final ImageIcon ICON_INVALID;
\r
30 url = Jindolf.getResource("resources/image/prologue.png");
\r
31 ICON_PROLOGUE = new ImageIcon(url);
\r
32 url = Jindolf.getResource("resources/image/progress.png");
\r
33 ICON_PROGRESS = new ImageIcon(url);
\r
34 url = Jindolf.getResource("resources/image/epilogue.png");
\r
35 ICON_EPILOGUE = new ImageIcon(url);
\r
36 url = Jindolf.getResource("resources/image/gameover.png");
\r
37 ICON_GAMEOVER = new ImageIcon(url);
\r
38 url = Jindolf.getResource("resources/image/cross.png");
\r
39 ICON_INVALID = new ImageIcon(url);
\r
45 public VillageIconRenderer(){
\r
52 * 村種別によってツリーリストアイコンを書き分ける。
\r
53 * @param tree {@inheritDoc}
\r
54 * @param value {@inheritDoc}
\r
55 * @param sel {@inheritDoc}
\r
56 * @param expanded {@inheritDoc}
\r
57 * @param leaf {@inheritDoc}
\r
58 * @param row {@inheritDoc}
\r
59 * @param hasFocus {@inheritDoc}
\r
60 * @return {@inheritDoc}
\r
63 public Component getTreeCellRendererComponent(
\r
71 if(leaf && value instanceof Village){
\r
72 Village village = (Village) value;
\r
73 ImageIcon icon = null;
\r
74 switch(village.getState()){
\r
75 case PROLOGUE: icon = ICON_PROLOGUE; break;
\r
76 case PROGRESS: icon = ICON_PROGRESS; break;
\r
77 case EPILOGUE: icon = ICON_EPILOGUE; break;
\r
78 case GAMEOVER: icon = ICON_GAMEOVER; break;
\r
79 default: assert false; break;
\r
81 if( ! village.isValid()) icon = ICON_INVALID;
\r
87 .getTreeCellRendererComponent(
\r