使用このリストレンダラー
import com.sun.lwuit.Component;
import com.sun.lwuit.Font;
import com.sun.lwuit.Image;
import com.sun.lwuit.Label;
import com.sun.lwuit.List;
import com.sun.lwuit.list.ListCellRenderer;
import com.sun.lwuit.plaf.Border;
import java.io.IOException;
public class MyListRenderer extends Label implements ListCellRenderer {
private Image[] images;
/** Creates a new instance of MyListRenderer */
public MyListRenderer() {
super("");
images = new Image[2];
try {
images[0] = Image.createImage("/on.png");
images[1] = Image.createImage("/off.png");
} catch (IOException ex) {
ex.printStackTrace();
}
}
public Component getListCellRendererComponent(List list, Object value, int index, boolean isSelected) {
setText(value.toString());
//getStyle().setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,Font.SIZE_MEDIUM));
if (isSelected) {
setFocus(true);
setIcon(images[1]);
getStyle().setBgColor(0xffcc99);
getStyle().setBgTransparency(55);
getStyle().setBorder(Border.createRoundBorder(15, 15, 0xff9900, true));
} else {
setFocus(false);
setIcon(images[0]);
getStyle().setBgColor(0xffffff);
getStyle().setFgColor(0x000000);
getStyle().setBorder(Border.createRoundBorder(15, 15, 0xffcc99, true));
getStyle().setBgTransparency(255);
}
return this;
}
public Component getListFocusComponent(List list) {
setIcon(images[1]);
setText("");
getStyle().setBgColor(0x0000ff);//no effect
setFocus(true);
getStyle().setBgTransparency(100);
return this;
}
}
:フォーカスの色の変化などは、...私はまた、選択されていないと選択リスト項目の二つの異なるアイコンのコードを与えています。私は、リスト内のサムネイル(アイコン)を生成するために、新しい「ジェネリックリストセルレンダリング」を使用している
lst.setListCellRenderer(new MyListRenderer());
親愛なるピーター リスト内の各アイテムの異なるイメージを設定する方法を教えてください。 tanx事前に – aida
これには、新しい/カスタマイズされたリストを作成する必要があります。 lwuitまたはj2meリストの通常のリストはあなたにこの機能を与えません。私は各リスト項目のアイコンを設定する拡張リストを作成しました。レンダーするにはレンダラーが必要です。私は空間のためにこのスレッドにコードを掲載していません。試してみましたが、うまくいきませんでした。また、lwuitのデモでfish eye rendererをチェックすることもできます。 – Peter
tanxピーター、私はウルの助けに感謝..幸運 – aida