BlackBerry - RadioButtonField, скрыть границу при выборе - PullRequest
1 голос
/ 13 марта 2010

У меня есть экран с двумя объектами RadioButtonField. По умолчанию первый RadioButtonField показывает прямоугольник вокруг него, чтобы показать его выделенное, и прямоугольник перемещается, если вы измените выделение на другое RadioButtonField или другие кнопки и текстовые поля на странице. Я хотел бы знать, есть ли ... способ скрыть эту границу, которая показывает выделение / границу?

Ответы [ 2 ]

1 голос
/ 15 марта 2010

если у вас 4.6 и выше, попробуйте setBorder () без ребер:

альтернативный текст http://img139.imageshack.us/img139/672/rbnoborder.jpg

class Scr extends MainScreen {  
    EditField editField = new EditField("edit field", "text");
    RadioButtonGroup rbGroup = new RadioButtonGroup();
    RadioButtonField rbField = new RadioButtonField("First field");
    RadioButtonField rbField2 = new RadioButtonField("Second field");
    ButtonField buttonField = new ButtonField("button");
    Border invisibleBorder = 
        BorderFactory.createSimpleBorder(new XYEdges(0,0,0,0));     
    public Scr() {
        add(editField);
        rbGroup.add(rbField);
        rbGroup.add(rbField2);
        add(rbField);
        add(rbField2);      
        add(buttonField);       
        editField.setBorder(invisibleBorder);
        rbField.setBorder(invisibleBorder);
        rbField2.setBorder(invisibleBorder);        
        buttonField.setBorder(invisibleBorder);             
    }
}

Если у вас 4.5 и ниже, попробуйте переопределить drawFocus () и оставьте его пустым:

альтернативный текст http://img214.imageshack.us/img214/672/rbnoborder.jpg

class Scr extends MainScreen {
    EditField editField = new EditField("edit field", "text") {
        protected void drawFocus(Graphics graphics, boolean on) {
        }
    };
    RadioButtonGroup rbGroup = new RadioButtonGroup();
    RadioButtonField rbField = new RadioButtonField("First field") {
        protected void drawFocus(Graphics graphics, boolean on) {
        }
    };
    RadioButtonField rbField2 = new RadioButtonField("Second field") {
        protected void drawFocus(Graphics graphics, boolean on) {
        }
    };
    ButtonField buttonField = new ButtonField("button") {
        protected void drawFocus(Graphics graphics, boolean on) {
        }
    };

    public Scr() {
        add(editField);
        rbGroup.add(rbField);
        rbGroup.add(rbField2);
        add(rbField);
        add(rbField2);
        add(buttonField);
    }
}
1 голос
/ 13 марта 2010

Вам потребуется переопределить метод drawFocus объекта, расширив его.

...