Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用lwuit显示列表中的文本、图像和评级星星_Java_List_Lwuit - Fatal编程技术网

Java 如何使用lwuit显示列表中的文本、图像和评级星星

Java 如何使用lwuit显示列表中的文本、图像和评级星星,java,list,lwuit,Java,List,Lwuit,在Lwuit列表中,我在右侧字段中设置图像,在左侧,我希望在框布局中显示两个标签和评级星。我正在使用扩展容器的列表。我将容器布局设置为boxlayout.x_轴。我在容器中添加了一个容器,并在其中显示了5个评级星。在运行时,我想根据运行时输入更改评级星形图像,因此请指导我这样做。我添加了5颗星,但在运行时没有更改 class WidgetRenderer extends Container implements ListCellRenderer { private Image[]

在Lwuit列表中,我在右侧字段中设置图像,在左侧,我希望在框布局中显示两个标签和评级星。我正在使用扩展容器的列表。我将容器布局设置为boxlayout.x_轴。我在容器中添加了一个容器,并在其中显示了5个评级星。在运行时,我想根据运行时输入更改评级星形图像,因此请指导我这样做。我添加了5颗星,但在运行时没有更改

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如果(ratingCount列表不支持以这种方式进行交互,则应使用容器和组件层次结构