私はコードネームワンの初心者です。さまざまなチュートリアルなどを見て勉強しています。しかし、私は理解できないような基本的なコンセプトがあります。コードを使用してGUIbuilderから静的フォームにアクセスする
私はGUIBuilderでフォームを設計するとき、私のコードからフォームをどのように参照しますか?
I.e. UI Builderでフォームを設計しました。今私の主なソースコードで、私はフォームにツールバーを追加したいと思います。 GUIBuilder内部では、フォームは「Main」と呼ばれますが、Main.show()
,Main.hide()
などの文は機能しません。
私は、フォームが動作
private Form home;
...
...
home=Display.getInstance().getCurrent();
...
home.getToolbar().addCommandToOverflowMenu(edit);
を使用して、もっと良い言葉がないために、「インポート」を取得するために管理、しかし確実に、現在アクティブを取得することなく、直接フォームにアクセスする方法がなければなりませんインスタンス?すなわち、あなたは、フォームのbeforeShow()
とpostShow()
をオーバーライドし、ちょうどフォームを表すパラメータを参照することができ Main.getToolbar().addCommandToOverflowMenu(edit);
は、念のため、私は100%を理解し、あなたのコードをダイヤモンドに感謝GUIFormはStateMachineBase.javaファイルにあります。主なソースコードはSecureCom.java(私のプロジェクトのメインJavaファイル)にありますので、アプローチを使用して、フォーム識別子に などの静的に作成されたフォームを割り当てることができますプライベートフォームホーム; protected void postMain(最終フォームf){ home = f; } 次に、main.WHATEVER関数を使用してプライマリコードからフォームにアクセスしたいのですか? –
これは 'StateMachine.java'で行うべきです、' StateMachineBase.java'に触れないでください。 'beforeShow()'と 'postShow()'はGUIビルダーでフォームを選択し、 'Events'タブに切り替えて、該当するボタンをクリックすることで自動的に生成されます。 – Diamond