2

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  

列挙値に関連付けられたツリー ノードを取得するにはどうすればよいですか?ただし、ツリー上のそのテキストは完全な名前の文字列を使用しますか? 言い換えれば、ツリー ノードのユーザー オブジェクトを設定する方法と、その名前を変更する方法を教えてください。

*注 - 簡単な修正方法は、慣例に反して、すべて大文字ではなく、ツリーに表示する方法で値に名前を付けることです。

4

2 に答える 2

0

ここで変更を行います:

  List<DefaultMutableTreeNode> daysOfWeekNodes = new ArrayList<DefaultMutableTreeNode>();

次に、これを試してください:

  titleLabel.setText(node.getFullName());
于 2013-05-03T12:47:25.447 に答える