ステップ9: フォームを開くボタンの追加

Previous topic
前へ
Next topic
次へ

このステップでは、CusotmerフォームおよびOrdersフォームを表示するボタンを、メイン・アプリケーション・ウィンドウに追加する方法を説明します。各ボタンの処理ハンドラには、すでに作成したビジネス・コンポーネント接続を使用して動作するJClient固有のコードが含まれます。

ボタンを標準フレームに追加するには、次のようにします。

  1. ナビゲータで「FormRootAppModule.java」を右クリックし、「UIエディタ」を選択します。

    UIエディタが開き、フレームが表示されます。

  2. コンポーネント・パレットで、「JButton」アイコン(button icon)を選択し(このアイコンを表示するには、パレットを左にスクロールする必要がある場合があります)、UIエディタの内部をクリックしてこのコンポーネントをフレームに追加します。
  3. この手順を繰り返して、2つ目のボタンをフレームに追加します。
  4. プロパティ・インスペクタが表示されていない場合は、「表示」->「プロパティ・インスペクタ」を選択します。
  5. UIエディタでボタンの1つを選択し、プロパティ・インスペクタで「text」プロパティを探し、そのフィールド内をクリックしてボタンのラベルを変更します。JButton1およびJButton2のラベルを、CustomerおよびOrdersに変更します。

    注意: コードを変更するには、ラベルの編集後に[Enter]キーを押す必要があります。

    フレームの2つのボタンは、次のように表示されます。

    UI Editor

CustomerビューおよびOrdersビューのための処理ハンドラを作成するには、次のようにします。

  1. UIエディタでラベルが「Customer」のボタンを選択し、プロパティ・インスペクタで「イベント」タブをクリックします。
  2. 「actionPerformed」イベント・フィールド内をクリックし、処理ハンドラを編集するために省略記号ボタン(ellipses button)をクリックします。

    「actionPerformed」ダイアログが開きます。

  3. 「OK」をクリックし、処理ハンドラのメソッド・スタブをフレームに追加します。

    コード・エディタが開き、RootAppModule.javaに処理ハンドラが挿入されます。

  4. jButton1_actionPerformed処理ハンドラ全体を、次のコードに置き換えます。
    
    
    // Customer button action handler
    private void jButton1_actionPerformed(ActionEvent e)
    {
      JUApplication app = panelBinding.getApplication();
      if (app.findFormBinding(CUSTOMER) == null)
      {
        // instead of 'customerPanelBinding.setApplication(app)', register
        // the panelBinding under an explicit key
        app.addFormBinding(CUSTOMER, customerPanelBinding);
        customerForm.setPanelBinding(customerPanelBinding);
        customerPanelBinding.execute();
    
        customerForm.setVisible(true);
      }
      else
      {
        customerForm.setVisible(true);
      }
    
    }
  5. ナビゲータで 「FormRootAppModule.java」ファイルを右クリックし、「UIエディタ」を選択します。

    UIエディタが再び開き、フレームが表示されます。

  6. UIエディタでラベルが「Orders」のボタンを選択し、プロパティ・インスペクタで「イベント」タブをクリックします。
  7. 「actionPerformed」イベント・フィールド内をクリックし、処理ハンドラを編集するために省略記号ボタン(ellipses button)をクリックします。
  8. 「OK」をクリックし、処理ハンドラのメソッド・スタブをフレームに追加します。

    コード・エディタが開き、RootAppModule.javaに2つ目の処理ハンドラが挿入されます。

  9. jButton2_actionPerformed処理ハンドラ全体を、次のコードに置き換えます。
    
    
    // Orders button action handler
    private void jButton2_actionPerformed(ActionEvent e)
    {
      JUApplication app = panelBinding.getApplication();
      if (app.findFormBinding(ORDERS) == null)
      {
        // instead of 'ordersPanelBinding.setApplication(app)', register
        // the panelBinding under an explicit key
        app.addFormBinding(ORDERS, ordersPanelBinding);
        ordersForm.setPanelBinding(ordersPanelBinding);
        ordersPanelBinding.execute();
    
        ordersForm.setVisible(true);
      }
      else
      {
        ordersForm.setVisible(true);
      }
    
    }
  10. 宣言リストの一番上に、次のString定義を挿入します。

    //static String definitions
    private final static String CUSTOMER = "Customer";
    private final static String ORDERS = "Order";

    これらの定義によって、処理ハンドラで使用されるキーが初期化されます。処理ハンドラでは、JClientパネル・バインド参照が実行されます。

  11. パネル・バインド文(「ステップ8: アプリケーションを実行するフレームの作成」で挿入)のすぐ下で、次の変数を宣言します。

    //initialize variables used to open the frames
    FormCustomersView1 customerForm = new FormCustomersView1();
    FormOrdersView1OrderItemsView1 ordersForm = new FormOrdersView1OrderItemsView1();

    これらの文によって、CusomerフォームおよびOrdersフォームのコンストラクタを処理ハンドラでコールできます。

  12. 「プロジェクト」->「再ビルド JClientProject.jpr」を選択し、ファイルをコンパイルします。エラーまたは警告は発生しないはずです。

システム終了時の動作を変更するには、次のようにします。

  1. コード・エディタでFormRootAppModule.javaを開き、FormRootAppModule()コンストラクタを探して、windowClosing()を次のように編集します。
    
    public FormRootAppModule()
    {
      addWindowListener(new WindowAdapter()
        {
          public void windowClosing(WindowEvent e)
          {
            _popupTransactionDialog();
    // System.exit(0); setVisible(false); } }); }
  2. ナビゲータで、「FormCustomersView1.java」を右クリックし、「コード・エディタ」を選択します。
  3. エディタで.javaファイルを表示し、カーソルをファイルの一番上に置いて[Ctrl]を押しながら、[F]を押します。

    「検索」ダイアログが表示されます。

  4. 「検索文字列」System.exitと入力し、「OK」をクリックします。
  5. windowClosing()メソッドで最初に検索された文字列を、次のように編集します。
    
    
    public void windowClosing(WindowEvent e)
    {
       // _popupTransactionDialog();
       // System.exit(0);
       setVisible(false);
    }
  6. 同じ文字列を再度検索します。file_exit_action()メソッドを次のように編集します。
    
    
    private void file_exit_action(ActionEvent e)
    {
      //  _popupTransactionDialog();
      // System.exit(0);
      setVisible(false);
    }
  7. ナビゲータで、「FormOrdersView1OrderItemsView1.java」を右クリックし、「コード・エディタ」を選択します。
  8. エディタで .javaファイルを表示し、カーソルをファイルの一番上に置いて[Ctrl]を押しながら、[F]を押します。

    「検索」ダイアログが表示されます。

  9. 「検索文字列」System.exitと入力し、「OK」をクリックします。
  10. windowClosing()メソッドで最初に検索された文字列を、次のように編集します。
    
    
    public void windowClosing(WindowEvent e)
    {
      // _popupTransactionDialog();
      // System.exit(0);
      setVisible(false);
    }
  11. 同じ文字列を再度検索します。file_exit_action()メソッドを次のように編集します。
    
    
    private void file_exit_action(ActionEvent e)
    {
      //  _popupTransactionDialog();
      // System.exit(0);
      setVisible(false);
    }

アプリケーションを実行するには、次のようにします。

  1. 「プロジェクト」->「再ビルド JavaForms.jws」を選択し、変更を保存してアプリケーションをコンパイルします。
  2. ナビゲータで、「FormRootAppModule.java」を右クリックし、「FormRootAppModule.javaの実行」を選択してアプリケーションを実行します。
  3. ボタンをクリックして、データ・バインドされたフォームを開きます。移動して、表示データを編集できます。

「ビジネス・コンポーネント用のSwingクライアント・チュートリアルのまとめ」を確認したら、このチュートリアルは終了です。