Color Change LabelField

793 Views Asked by At

I have a vertical field manager, inside it are numerous horizontal field manager. in each horizontal field manager there are 1 bitmapfield and another verticalfield manager ( 3 label fields).

I was able to change the background color(GRADIENT) of the horizontal fieldmanager to which ever has the focus. But i want to change the color (WHITE) of the labelfields within that manager on focus and change back the color (BLACK) when unfocus. Also, the isFocus() doesnt work on paint for both manager and label field.

1

There are 1 best solutions below

0
On

Try this

LabelField rtf=new LabelField(list[i],Field.FOCUSABLE|Field.USE_ALL_WIDTH)
        {
        boolean _inFocus = false;
        public void onFocus(int direction) {
            _inFocus = true;
            super.onFocus(direction);
            this.invalidate();
        }

        public void onUnfocus() {
            _inFocus = false;
            super.onUnfocus();
            this.invalidate();
        }
        public void paint(Graphics g)
           {

         if (_inFocus ){
             g.setBackgroundColor(0x6395CC);
             g.clear();
             g.setColor(Color.WHITE);
            } 
            else
            {
                 g.setBackgroundColor(Color.WHITE);
                 g.clear();
                 g.setColor(Color.BLACK);
            }
             g.clear();
             super.paint(g);
           }
        };