0

リスト内で、リスト項目の一部が他の項目とは異なるスタイルを示す必要があるという要件が必要です。これはlwuitでどのように達成できますか?

例えば、

        List menu = new List();
        menu.addItem("1. Green");
        menu.addItem("2. Red");
        menu.addItem("3. Blue");

このリストでは、各項目にはその色を表すスタイルが必要です (つまり、緑は背景が緑で、赤は背景が赤である必要があります)。LWUITで可能ですか?どうすればこれを達成できますか?

前もって感謝します。

4

2 に答える 2

2

このユースケースでは、セルレンダラーを作成する必要があります。'DefaultListCellRenderer'を導出するだけです。例:

DefaultListCellRenderer rend = new DefaultListCellRenderer() {
     public Component getCellRendererComponent(Component list, Object model, Object value, int index, boolean isSelected) {
           Component c = super.getCellRendererComponent(...);
           c.getStyle().setBgTransparency(255);
           c.getStyle().setBgColor(theColorYouWant);
           return c;
     }
};

次に、このレンダラーをリストに設定します。これはレンダラーの非常に単純化された例であるため、ここではおそらくいくつかの追加の改良が必要になります。

于 2013-01-27T08:44:22.943 に答える
1

これは 1 つの方法です。1. リスト内の各項目のコンポーネントを作成します。 2. bg の色とテキストを追加します。3. 完了したら、作成したフォームまたはその他のカスタム コンポーネントに追加します。

その他の方法: 独自のリスト レンダラーを作成できます。ここにあなたがそれを行う方法に関するいくつかの情報があります

于 2013-01-23T13:44:59.363 に答える