JTree に enum 値のノードを設定します。ただし、ノードはすべて大文字で表示されます。ノードを小文字で表示したいので、これは望ましくありません。
例:
public enum DaysOfTheWeek {
MONDAY("Monday", "MON", "First day of the work week."),
//etc ...
private final String fullName;
private final String abbrvName;
private final String description;
DaysOfTheWeek(String fullName, String abbrvName, String description) {
this.fullName = fullName;
//etc ...
}
public String getFullName() {
return fullName;
}
}
私が試してみました:
List<DefaultMutableTreeNode> daysOfWeekNodes = new ArrayList<>();
for(DaysOfTheWeek dotw : DaysOfTheWeek.values()) {
daysOfWeekNodes.add(new DefaultMutableTreeNode(dotw.getFullName()));
daysOfWeekNodes.get(dotw.ordinal()).setUserObject(dotw);
}
ノードは次のように表示されます: 月曜日しかし、私はそれを次のように表示したい: 月曜日
テキストベースのグラフィックの例:
Days
|
---Monday
|
---Tuesday
いいえ
Days
|
---MONDAY
|
---TUESDAY
列挙値に関連付けられたツリー ノードを取得するにはどうすればよいですか?ただし、ツリー上のそのテキストは完全な名前の文字列を使用しますか? 言い換えれば、ツリー ノードのユーザー オブジェクトを設定する方法と、その名前を変更する方法を教えてください。
*注 - 簡単な修正方法は、慣例に反して、すべて大文字ではなく、ツリーに表示する方法で値に名前を付けることです。