как показать текстовую метку на кнопочном поле ежевика

Я новичок в разработке ежевики. Я пытаюсь поместить текст поверх кнопки, но он вообще не работает. Должно быть простое решение, но я не могу его найти. Вот код, который я использую

public class ProgramListView extends VerticalFieldManager{

    private int _height;
    private int _xPos;

    private ButtonField evaluateButton;

    //height is used to define each item height
    //xPos is used to define each items position on screen
    public ProgramListView(int height, int xPos){
        this._height = height;
        this._xPos = xPos;

        evaluateButton = new ButtonField("Evaluate", ButtonField.CONSUME_CLICK){

            //put methods in here to change the button's position
        };
        super.add(evaluateButton);
    }

Заранее спасибо.


person madcoderz    schedule 14.07.2012    source источник
comment
Я думаю, что метод, который вы переопределили макет и краска, вызывает проблему с отображением текста на кнопке, пожалуйста, удалите эти переопределенные функции и позвольте мне узнать, работает он или нет? Спасибо   -  person SALMAN    schedule 14.07.2012
comment
Нет смысла переопределять методы (например, layout() и paint()), если вы просто собираетесь вызвать версию суперкласса того же метода без изменения параметров или какой-либо другой работы. См. руководство по замене метода Java здесь   -  person Nate    schedule 14.07.2012
comment
Я уже удалил методы, но метки все еще нет. Эти методы будут использованы позже, чтобы поместить кнопку в нужное место.   -  person madcoderz    schedule 14.07.2012


Ответы (2)


ButtonField btnPreviewTone;
btnPreviewTone = new ButtonField(ButtonField.HIGHLIGHT_SELECT |       ButtonField.CONSUME_CLICK);
btnPreviewTone.setLabel("Preview Ringtone");

Я так поступил, и у меня это сработало. Спасибо

person SALMAN    schedule 14.07.2012
comment
Этот ответ на самом деле не проясняет, почему вы передаете две разные строки в ButtonField. Некоторое разъяснение сделало бы это лучшим ответом. - person Nate; 15.07.2012
comment
Хорошо, теперь я отредактировал код, который имеет смысл в вашем комментарии. Спасибо - person SALMAN; 15.07.2012
comment
у меня ваше решение не работает. Я расширяю VerticalFieldManager, может быть, поэтому он не работает? - person madcoderz; 15.07.2012

Теперь проблема решена. Решение было очевидным. Когда я поместил кнопку на пользовательский VerticalFieldManager, в методе субмаута VerticalFieldManager мне пришлось изменить параметры в нем на Display.USE_ALL_WIDTH. Это устранило проблему Спасибо за помощь.

person madcoderz    schedule 15.07.2012