пользовательский фокус поля в ежевике - PullRequest
0 голосов
/ 10 ноября 2011

Я создал один класс customUi, в котором я создал 3 поля в виде 1 метки и двух полей кнопок ...

, поэтому я создаю customui и передаю имена полей ...

как

public class CustomTextField extends Manager {

    Field field ;
//passing 3 names to the construcor

protected void sublayout(int width, int height) {
        // TODO Auto-generated method stub

        int fieldCount = getFieldCount();
        int screenWidth = Display.getWidth();
        int yOffset =0;
        for(int i=0; i<fieldCount; i++)
        {

        field= getField(i);
        layoutChild(field, screenWidth, 100 );
        setPositionChild(field, (screenWidth-field.getWidth())>>1, yOffset);
        yOffset += field.getHeight()+5;
            }

        setExtent(screenWidth, yOffset);
    }

protected void paintBackground(Graphics g) {
        if(field.isFocus())
        {
        //g.setBackgroundColor(Color.ALICEBLUE);
        int oldColor = g.getColor();
        g.setColor(Color.DARKBLUE);
        g.drawRoundRect(0, 0, getWidth(), getHeight(), Graphics.ALL_ROUNDED_RECT_CORNERS, 60, 60);
        g.setColor(oldColor);
        }
    }

1 Ответ

1 голос
/ 10 ноября 2011

Не переопределяйте paintBackground(Graphics g) внутри менеджера. Переопределите его внутри класса дочернего поля. Ответственность дочернего поля за представление сфокусированного состояния.

...