наследование класса GUI в LWUIT 1.5 - PullRequest
0 голосов
/ 04 марта 2012

Я пытаюсь унаследовать класс, который я создал в редакторе ресурсов GUI Lwuit, чтобы расширить некоторые функции. Я хочу сделать что-то вроде:

public class MyCustomGUIForm extend CustomGUIForm{...}

Где CustomGUIForm это Form, который я создаю в редакторе ресурсов. Есть идеи ??

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Я собираюсь объяснить вам, что я делаю для расширения некоторой функциональности в Forms, который я создаю с помощью редактора ресурсов. Когда вы создаете NetBeansProject с помощью редактора ресурсов, вы получаете класс StateMachine, который позволяет вам изменять / добавлять некоторые аспекты навигации ваших приложений. В классе StateMachine вы можете найти множество методов, связанных с элементами, которые вы создаете в редакторе ресурсов.

Например:

Вы создаете Form в редакторе ресурсов, который называется CustomGUIForm. После сохранения .res вы должны найти некоторые методы в классе StateMachine с именами beforeCustomGUIForm postCustomGUIForm и exitGUIForm, с этими методами вы можете использовать Form и добавить некоторые функции. Вы можете заметить, что в StateMachine есть другие методы для команд, которые вы строите в редакторе ресурсов, ActionListeners и т. Д. Посмотрите на переопределенные методы для StateMachine, они могут быть полезны для вас.

Дайте мне знать, если у вас есть еще вопросы

0 голосов
/ 06 марта 2012

Хотя jmunoz дал лучший ответ на этот вопрос только для полноты, вы действительно можете наследовать и переопределять любой компонент, созданный редактором ресурсов.

В переопределении Statemachine:

protected Component createComponentInstance(String componentType, Class cls) {
     if(cls == Form.class) {
           return new MyFormInstance();
     }
     return null;
}

Существуетодин недостаток в этом подходе, все формы теперь будут MyFormInstance.Это или пригодно для некоторых случаев использования, но не так много для других.

...