0

一部の機能を拡張するために、LwuitのGUIリソースエディターで作成したクラスを継承しようとしています。私は次のようなことをしたい:

public class MyCustomGUIForm extend CustomGUIForm{...}

リソースエディタで作成したCustomGUIForm場所です。Form何か案が??

4

2 に答える 2

1

FormsResourceEditorで作成した機能を拡張するために私が何をしているのかを説明します。リソースエディターを使用してNetBeansProjectをビルドするとStateMachine、アプリナビゲーションのいくつかの側面を変更/追加できるクラスが取得されます。クラスにはStateMachine、リソースエディタで作成した要素に関連する多くのメソッドがあります。

例えば:

FormCustomGUIFormと呼ばれるをリソースエディタで作成します。.resを保存した後、andというクラスにいくつかのメソッドがありますStateMachine。このメソッドを使用すると、を使用していくつかの機能を追加できます。Resource Editor、ActionListenersなどで作成したコマンドの他のメソッドがあることを確認できます。のオーバーライドされたメソッドを見てください。それらはあなたにとって役立つ可能性があります。beforeCustomGUIForm postCustomGUIFormexitGUIFormFormStateMachineStateMachine

他にご不明な点がありましたらお知らせください

于 2012-03-04T20:24:05.040 に答える
0

jmunozは完全を期すためにこれに対してより良い答えを与えましたが、リソースエディターによって作成されたコンポーネントを実際に継承してオーバーライドすることができます。

ステートマシンのオーバーライド:

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

このアプローチには1つの欠点があり、すべてのフォームがになりますMyFormInstance。これは、一部のユースケースでは使用可能または使用可能ですが、他のユースケースではあまり使用できません。

于 2012-03-06T09:18:56.203 に答える