换色标签字段

时间:2011-01-12 10:26:26

标签: java colors focus labelfield horizontalfieldmanager

我有一个垂直的现场经理,里面有很多水平的现场经理。在每个水平字段管理器中,有1个位图字段和另一个垂直字段管理器(3个标签字段)。

我能够改变有焦点的水平场管理员的背景颜色(GRADIENT)。但是我想在焦点上更改该管理器中labelfields的颜色(WHITE),并在非焦点时更改颜色(BLACK)。此外,isFocus()对于管理器和标签字段的绘制都不起作用。

1 个答案:

答案 0 :(得分:0)

试试这个

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);
           }
        };