Java 如何使用lwuit显示列表中的文本、图像和评级星星
在Lwuit列表中,我在右侧字段中设置图像,在左侧,我希望在框布局中显示两个标签和评级星。我正在使用扩展容器的列表。我将容器布局设置为boxlayout.x_轴。我在容器中添加了一个容器,并在其中显示了5个评级星。在运行时,我想根据运行时输入更改评级星形图像,因此请指导我这样做。我添加了5颗星,但在运行时没有更改Java 如何使用lwuit显示列表中的文本、图像和评级星星,java,list,lwuit,Java,List,Lwuit,在Lwuit列表中,我在右侧字段中设置图像,在左侧,我希望在框布局中显示两个标签和评级星。我正在使用扩展容器的列表。我将容器布局设置为boxlayout.x_轴。我在容器中添加了一个容器,并在其中显示了5个评级星。在运行时,我想根据运行时输入更改评级星形图像,因此请指导我这样做。我添加了5颗星,但在运行时没有更改 class WidgetRenderer extends Container implements ListCellRenderer { private Image[]
class WidgetRenderer extends Container implements ListCellRenderer {
private Image[] images;
private Button orgImgButton;
private Image orgImg, starFocusImg, starUnfocusImg;
private Container contImage, contDet, contStar, contOrg;
private TextField orgNameLabel, locationLabel, ratingLabel;
private Button starButton;
public WidgetRenderer() {
super();
try {
setLayout(new BoxLayout(BoxLayout.X_AXIS));
contDet = new Container(new BoxLayout(BoxLayout.Y_AXIS));
contOrg = new Container(new BoxLayout(BoxLayout.Y_AXIS));
contImage = new Container();
contStar = new Container(new BoxLayout(BoxLayout.X_AXIS));
starFocusImg = Image.createImage("/images/star.jpg");
starUnfocusImg = Image.createImage("/images/star1.jpg");
orgNameLabel = new TextField(8);
orgNameLabel.setGrowByContent(true);
orgNameLabel.setEditable(false);
locationLabel = new TextField(8);
locationLabel.setGrowByContent(true);
locationLabel.setEditable(false);
orgNameLabel.setUnselectedStyle(DefaultLayout.OrgListStyle());
orgNameLabel.setSelectedStyle(DefaultLayout.OrgListStyle());
orgNameLabel.setPressedStyle(DefaultLayout.OrgListStyle());
locationLabel.setSelectedStyle(DefaultLayout
.locationListStyle());
locationLabel
.setPressedStyle(DefaultLayout.locationListStyle());
locationLabel.setUnselectedStyle(DefaultLayout
.locationListStyle());
contOrg.addComponent(orgNameLabel);
contOrg.addComponent(locationLabel);
contDet.addComponent(contOrg);
int totalCount = 5;
for (int i = 0; i < totalCount; i++) {
starButton = new Button(DefaultLayout.CreateScaledImage(
starFocusImg,
DefaultLayout.screenWidth() * 6 / 100,
DefaultLayout.screenHeight() * 6 / 100));
starButton
.setSelectedStyle(DefaultLayout.starButtonStyle());
starButton.setUnselectedStyle(DefaultLayout
.starButtonStyle());
starButton.setPressedStyle(DefaultLayout.starButtonStyle());
contStar.addComponent(starButton);
}
contDet.addComponent(contStar);
// addComponent(contImage);
addComponent(contDet);
} catch (Exception ex) {
System.out.println("ex" + ex.getMessage());
}
}
public Component getListCellRendererComponent(List list, Object value,
int index, boolean isSelected) {
try {
setFocus(isSelected);
for (int i = 0; i < list.size(); i++) {
if (index == i) {
orgNameLabel.setText(tempName[i]);
locationLabel.setText(districtDesc[i] + ","
+ townDesc[i]);
// orgImgButton.setIcon(loadImage(thumbnailURL));
int ratingCount = Integer.parseInt(totalRatingCount[i]);
int totalCount =5;
if(ratingCount <= totalCount)
{
//dont know how to do change in image
}
if (isSelected) {
getStyle().setBgColor(0x00BFFF);
getStyle().setBgTransparency(100);
} else
getStyle().setBgTransparency(0);
}
}
} catch (Exception e) {
}
return this;
}
public Component getListFocusComponent(List arg0) {
return null;
}
}
类WidgetRenderer扩展容器实现ListCellRenderer{
私有图像[]图像;
私人按钮或按钮;
私人影像组织、starFocusImg、starUnfocusImg;
私有容器contImage、contDet、contStar、contOrg;
私有文本字段orgNameLabel、locationLabel、ratingLabel;
私人按钮starButton;
公共WidgetRenderer(){
超级();
试一试{
setLayout(新的BoxLayout(BoxLayout.X_轴));
contDet=新容器(新的BoxLayout(BoxLayout.Y_轴));
contOrg=新容器(新的BoxLayout(BoxLayout.Y_轴));
contImage=新容器();
contStar=新容器(新的BoxLayout(BoxLayout.X_轴));
starFocusImg=Image.createImage(“/images/star.jpg”);
starUnfocusImg=Image.createImage(“/images/star1.jpg”);
orgNameLabel=新文本字段(8);
orgNameLabel.setGrowByContent(true);
orgNameLabel.setEditable(false);
locationLabel=新文本字段(8);
locationLabel.setGrowByContent(真);
locationLabel.setEditable(假);
orgNameLabel.setUnselectedStyle(DefaultLayout.OrgListStyle());
orgNameLabel.setSelectedStyle(DefaultLayout.OrgListStyle());
orgNameLabel.setPressedStyle(DefaultLayout.OrgListStyle());
locationLabel.setSelectedStyle(默认布局
.locationListStyle());
位置标签
.setPressedStyle(DefaultLayout.locationListStyle());
locationLabel.setUnselectedStyle(默认布局
.locationListStyle());
contOrg.addComponent(orgNameLabel);
contOrg.addComponent(位置标签);
contDet.addComponent(contOrg);
整数总数=5;
对于(int i=0;i