j2me lwuit list采用相同的单元格背景

时间:2012-11-09 18:17:13

标签: java-me lwuit nokia-s40

我正在制作一个列表,其中包含人员,每个人都评定为单元格背景 列表为每个单元格提供相同的速率背景但是当向上或向下滚动列表时我正在拖动的单元格采用它的实际速率背景但其他单元格保持相同的速率背景图像 我正在使用诺基亚s40全触控仿真器 这是我用于单元格渲染器的代码

    list.setRenderer(new ListCellRenderer() {

        public Component getListFocusComponent(List list) {
            // TODO Auto-generated method stub
            return null;
        }

        public Component getListCellRendererComponent(List list,
                Object value, int index, boolean isSelected) {
            String rate = "";

            rate = Transportation.getDriverRate(value.toString(),
                    CityListForm.selectedCity);
            rate = (Integer.parseInt(rate)) > 25 ? "" + 5 : ""
                    + Integer.parseInt(rate) / 5;
            rate = "/" + rate + ".png";
            Image image = null;
            Label label = null;
            try {

                image = (Image.createImage(rate));
                System.out.println(rate);
            } catch (IOException e) {
                e.printStackTrace();
            }
            label = new Label();

            label.getStyle().setBgImage(image);
            label.setText(value.toString());
            label.getStyle().setAlignment(RIGHT);
            label.setTextPosition(RIGHT);
            Style style = label.getStyle();
            style.setBgColor(16777215);
            style.setFgColor(0);

            label.setPreferredH(42);
            return label;
        }
    });

2 个答案:

答案 0 :(得分:2)

使用List.setMutableRendererBackgrounds(true);

答案 1 :(得分:0)

答案是thnx 我通过制作一个容器并在其中对接两个标签来解决它,一个用于值,另一个用于速率图标,并为容器提供布局并在getListCellRendererComponent()方法中返回容器