簡體   English   中英

如何使用lwuit在列表中顯示文本,圖像,星級

[英]how to show text,image,rating stars in list using lwuit

在Lwuit列表中,我將圖像設置在右側字段中,在左側,我想在框布局中顯示兩個標簽和評級星。 我正在使用擴展容器的列表。 我將容器布局設置為boxlayout.x_axis。 我要在容器中添加一個容器,並在其中顯示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;
        }
    }

列表不支持這種方式的交互。 您應該使用容器和組件層次結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM