Как войти в приложение blackberry, если я не использую enterEventDispatcher? - PullRequest
0 голосов
/ 30 октября 2009

Мое приложение расширяет класс ui.Manager. Можно ли войти в приложение без использования enterEventDispatcher. Для этого мне нужно наследовать Application / UiApplication.

Является ли множественное наследование решением?
Множественное наследование скорее невозможно в Java. Так это об использовании интерфейсов?

1 Ответ

3 голосов
/ 30 октября 2009

Вы действительно должны наследовать приложение от UiApplication (если оно имеет какой-либо пользовательский интерфейс) или от приложения (если это фоновое приложение, служба).
Если у вас есть какое-то расширение Manager, поместите его в расширение экрана. Как это:

import net.rim.device.api.system.Display;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;

public class CenterButtonPanelApp extends UiApplication {

    public CenterButtonPanelApp() {
        pushScreen(new Scr());
    }

    public static void main(String[] args) {
        CenterButtonPanelApp app = new CenterButtonPanelApp();
        app.enterEventDispatcher();
    }
}

class Scr extends MainScreen {
    public Scr() {
        CenterButtonPanel centerPanel = new CenterButtonPanel();
        add(centerPanel);
    }
}

class CenterButtonPanel extends HorizontalFieldManager {
    int mWidth = Display.getWidth();

    public CenterButtonPanel() {
        super(FIELD_HCENTER);
    }

    public int getPreferredWidth() {
        return mWidth;
    }

    protected void sublayout(int maxWidth, int maxHeight) {
        super.sublayout(mWidth, maxHeight);
        setExtent(mWidth, maxHeight);
    }
}
...