0

セルの背景として人物とすべての人のレートを持つリストを作成しています。リストはすべてのセルに同じレートの背景を与えますが、リストを上下にスクロールすると、ドラッグしているセルが実際のレートの背景になりますが、他のセルはそのままです同じレートの背景画像 nokia 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;
        }
    });
4

2 に答える 2

2

使用するList.setMutableRendererBackgrounds(true);

于 2012-11-11T04:50:33.323 に答える
0

答えのthnxコンテナを作成し、その中に2つのラベルを値用に、もう1つをレートアイコン用に突き合わせて解決し、コンテナにレイアウトを与え、getListCellRendererComponent()メソッドでコンテナを返します

于 2012-11-19T22:40:18.013 に答える