2 * village information panel
\r
4 * Copyright(c) 2009 olyutorskii
\r
5 * $Id: VillageInfoPanel.java 953 2009-12-06 16:42:14Z olyutorskii $
\r
8 package jp.sourceforge.jindolf;
\r
10 import java.awt.GridBagConstraints;
\r
11 import java.awt.GridBagLayout;
\r
12 import java.awt.Insets;
\r
13 import javax.swing.JLabel;
\r
14 import javax.swing.JPanel;
\r
19 @SuppressWarnings("serial")
\r
20 public class VillageInfoPanel extends JPanel{
\r
22 private Village village;
\r
24 private final JLabel landName = new JLabel();
\r
25 private final JLabel villageName = new JLabel();
\r
26 private final JLabel villageID = new JLabel();
\r
27 private final JLabel state = new JLabel();
\r
28 private final JLabel days = new JLabel();
\r
29 private final JLabel limit = new JLabel();
\r
31 private final JLabel limitCaption = new JLabel();
\r
36 public VillageInfoPanel(){
\r
41 updateVillage(null);
\r
49 private void design(){
\r
50 GridBagLayout layout = new GridBagLayout();
\r
51 GridBagConstraints constraints = new GridBagConstraints();
\r
54 constraints.insets = new Insets(2, 2, 2, 2);
\r
56 constraints.anchor = GridBagConstraints.EAST;
\r
57 constraints.gridwidth = 1;
\r
58 add(new JLabel("国名 : "), constraints);
\r
59 constraints.anchor = GridBagConstraints.WEST;
\r
60 constraints.gridwidth = GridBagConstraints.REMAINDER;
\r
61 add(this.landName, constraints);
\r
63 constraints.anchor = GridBagConstraints.EAST;
\r
64 constraints.gridwidth = 1;
\r
65 add(new JLabel("村名 : "), constraints);
\r
66 constraints.anchor = GridBagConstraints.WEST;
\r
67 constraints.gridwidth = GridBagConstraints.REMAINDER;
\r
68 add(this.villageName, constraints);
\r
70 constraints.anchor = GridBagConstraints.EAST;
\r
71 constraints.gridwidth = 1;
\r
72 add(new JLabel("村ID : "), constraints);
\r
73 constraints.anchor = GridBagConstraints.WEST;
\r
74 constraints.gridwidth = GridBagConstraints.REMAINDER;
\r
75 add(this.villageID, constraints);
\r
77 constraints.anchor = GridBagConstraints.EAST;
\r
78 constraints.gridwidth = 1;
\r
79 add(new JLabel("状態 : "), constraints);
\r
80 constraints.anchor = GridBagConstraints.WEST;
\r
81 constraints.gridwidth = GridBagConstraints.REMAINDER;
\r
82 add(this.state, constraints);
\r
84 constraints.anchor = GridBagConstraints.EAST;
\r
85 constraints.gridwidth = 1;
\r
86 add(new JLabel("所要日数 : "), constraints);
\r
87 constraints.anchor = GridBagConstraints.WEST;
\r
88 constraints.gridwidth = GridBagConstraints.REMAINDER;
\r
89 add(this.days, constraints);
\r
91 constraints.anchor = GridBagConstraints.EAST;
\r
92 constraints.gridwidth = 1;
\r
93 add(this.limitCaption, constraints);
\r
94 constraints.anchor = GridBagConstraints.WEST;
\r
95 constraints.gridwidth = GridBagConstraints.REMAINDER;
\r
96 add(this.limit, constraints);
\r
98 constraints.fill = GridBagConstraints.BOTH;
\r
99 constraints.weightx = 1.0;
\r
100 constraints.weighty = 1.0;
\r
101 constraints.gridwidth = GridBagConstraints.REMAINDER;
\r
102 constraints.gridheight = GridBagConstraints.REMAINDER;
\r
103 add(new JPanel(), constraints); // ダミー詰め物
\r
112 public Village getVillage(){
\r
113 return this.village;
\r
118 * @param villageArg 村
\r
120 public final void updateVillage(Village villageArg){
\r
121 this.village = villageArg;
\r
123 if(this.village == null){
\r
124 this.landName .setText("???");
\r
125 this.villageName.setText("???");
\r
126 this.villageID .setText("???");
\r
127 this.state .setText("???");
\r
128 this.days .setText("???");
\r
129 this.limit .setText("???");
\r
131 this.limitCaption.setText("更新日時 : ");
\r
136 String land = this.village.getParentLand()
\r
139 String vName = "「" + this.village.getVillageFullName() + "」";
\r
140 String vID = this.village.getVillageID();
\r
142 int progressDays = this.village.getProgressDays();
\r
146 switch(this.village.getState()){
\r
149 daysInfo = "プロローグ中";
\r
150 caption = "プロローグ終了予想 : ";
\r
154 daysInfo = "プロローグ + " + progressDays + "日目";
\r
155 caption = "更新日時 : ";
\r
159 daysInfo = "プロローグ + " + progressDays + "日 + エピローグ中";
\r
160 caption = "エピローグ終了予想 : ";
\r
164 daysInfo = "プロローグ + " + progressDays + "日 + エピローグ";
\r
165 caption = "エピローグ終了日時 : ";
\r
170 caption = "更新日時 : ";
\r
176 caption = "更新日時 : ";
\r
180 int limitMonth = this.village.getLimitMonth();
\r
181 int limitDay = this.village.getLimitDay();
\r
182 int limitHour = this.village.getLimitHour();
\r
183 int limitMinute = this.village.getLimitMinute();
\r
185 String limitDate = limitMonth + "月" + limitDay + "日";
\r
186 String limitTime = "";
\r
187 if(limitHour < 10) limitTime += "0";
\r
188 limitTime += limitHour + ":";
\r
189 if(limitMinute < 10) limitTime += "0";
\r
190 limitTime += limitMinute;
\r
192 this.landName .setText(land);
\r
193 this.villageName.setText(vName);
\r
194 this.villageID .setText(vID);
\r
195 this.state .setText(status);
\r
196 this.days .setText(daysInfo);
\r
197 this.limit .setText(limitDate + " " + limitTime);
\r
199 this.limitCaption.setText(caption);
\r