2012-03-04 49 views
0

继承了GUI类我试图继承一个类,我在LWUIT的GUI资源编辑器所做的扩展一些功能。我想要做的事,如:
在LWUIT 1.5

public class MyCustomGUIForm extend CustomGUIForm{...} 

CustomGUIForm它,我在资源编辑器创建一个Form。任何想法??

回答

1

我将向您解释我为扩展使用资源编辑器创建的Forms中的某些功能而做的事情。 当您使用资源编辑器构建NetBeansProject时,您会得到一个StateMachine类,它允许您修改/添加应用程序导航的某些方面。 在StateMachine类中,您可以找到许多与您在资源编辑器中创建的元素相关的方法。

例如:

您创建资源编辑器Form,叫CustomGUIForm。在保存.RES,你会发现在一个名为beforeCustomGUIFormpostCustomGUIFormexitGUIFormStateMachine类的一些方法,用这种方法可以使用Form,并添加一些功能。你可以观察到在StateMachine中还有其他一些你在Resource Editor,ActionListeners等构建的命令的方法。看看StateMachine的重写方法,它们对你来说可能是有用的。

让我知道如果您有更多问题

+0

嗨jmunoz!感谢您的回复。我已经使用了你所说的所有功能。我会稍微解释一下我想要做的事情。我正在开发一个使用Nutiteq地图库显示地图的应用程序,所以我想在不同的窗体中实现一些接口。一个快速的解决方案是在StateMachine类中实现接口,并在每个接口的函数中询问当前的形式......但我认为这不是一个无缝的解决方案。任何想法? – Dondump 2012-03-04 23:36:30

+0

我通常会创建其他类来帮助我管理这些表单。我可以这样做,因为我创建了这个类的一个对象,并调用了我想在StateMachine的方法中使用的方法(before,post等)。你可以尝试做到这一点 – Mun0n 2012-03-05 00:09:50

+0

嗨jmunoz和thnx再次回复您的回复。您的解决方案让我意识到,除了扩展ResourceEditor Forms之外,还有其他方法可以解决我的问题。我创建了一个MapComponent(从Lwuit组件扩展而来),它实现了所有需要的接口,并且我在运行时将它放入了一个通用的MapForm。我认为这将是我的问题的一个很好的解决方案,但我仍然想知道是否有任何方法来扩展ResourceEditor表单。任何方式,再次tvm您的答复! – Dondump 2012-03-05 14:57:07

0

虽然jmunoz给了更好的回答这个只是为了完整性你的确可以继承和覆盖由资源编辑器创建的任何组件。

在你的statemachine覆盖:

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

有这种方法的一个缺点,各种形式现在将MyFormInstance。这对于某些用例是可用的或者可用的,对其他用户不是那么重要。