コンポーネントのイベントの表示

「Java™ Bean」ビューは、ビジュアル・クラスのコンポーネント上で設定されるすべてのイベントを表示します。

このタスクについて

「Java Bean」ビューには以下のようにイベントを表示する 3 つのモードがあります。

コンポーネント上のイベントの表示

手順

  1. 「Java Bean」ビュー・ツールバーで、メニュー (矢印ボタン) をクリックします。
  2. 「イベントの表示」または「エキスパート・イベント」を選択します。
    • イベントの表示

      「イベントの表示」を選択すると、それぞれの コンポーネントで使用されるイベントは、子としてツリーに表示されます。イベントは緑色の矢印 緑色の矢印 でマークされ、プロパティー変更イベントは青の矢印 青の矢印アイコンでマークされます。

      コンポーネント で使用されるイベントには、リスナーを登録する必要があり、コールバック・メソッドは その中にいくつかのコードを持っている必要があります。 Visual Editor で使用される認識済みソース・コードのパターン・リストについては、 イベントのソース・コード・パターンに関するセクションで説明しています。 以下の図で「Java Bean」ビューは windowOpened イベントを持つ JFrame を表示しています。また、actionPerformed イベントを持つボタンを表示しています。 ボタンには、使用可能にされたプロパティー 用の PropertyChangeListener があります。これは緑色ではなく、青色の矢印で 示されます。

      基本イベント

      それぞれのイベントは、ソース・コンポーネント (使用されている例では JFrame または JButton)、 addXXXListener(XXXListener) を使用してソースに追加されるリスナー・インターフェースを実装するクラス、 およびコールバック・メソッドの本体内にあるいくつかのコードで構成されています。

    • エキスパート・イベント

      「エキスパート・イベント」モードでは、 コンポーネント用の各リスナーは子ツリー・ノードとして表示され、 イベントは各リスナーの下に表示されます。 これにより、ツリーの項目数を増加させ、イベントをコンポーネントに付加する方法に ついて、より詳しく示します。 2 つのモードのオプションにより、処理する詳細レベルを決めることができます。

      エキスパート・モードでは、リスナーに使用されるアイコンによって、リスナー・クラスのタイプが 示されます。 リスナーがリスナー・インターフェースを実装する無名インナー・クラスの場合は、イベント表現アイコン アイコンが使用され、リスナーがリスナー・アダプター・クラスを拡張する無名インナー・クラスの場合は、イベント表現クラス アイコンが使用されます。

      また、Visual Editor では、リスナーに使用される無名インナー・クラスだけでなく、 名前付きクラスと共有リスナーを構文解析して認識することもできます。エキスパート・モードでリスナーが無名でない場合、アイコンは、汎用リスナー・アイコン です。 リスナーが複数のコンポーネントで共有される場合には、共有クラス・オブジェクト が使用されます。リスナー・クラスが単一イベントで使用される場合、これらはリスナーの子 としてリストされます。ただし、コンポーネントの複数のイベント・リスナー・インターフェースがリスナー・クラス を使用する場合、これらのリスナー・インターフェースは、エキスパート・モードでは、 以下の図のようにリスナー・クラスの別々の子として表示されます。

      エキスパートでのイベント共有

      このソースを以下のコード・ステートメントに示します。 内部リスナー・クラス IvjEventHandler は、keyPressedEvent の最初のボタン (this) で 1 回、 「キャンセル」ボタンで 2 回、keyPressed (キー・イベントのパーツ) で 1 回、 および actionPerformed (アクション・イベントのパーツ) でさらにもう 1 回使用されます。

      class IvjEventHandler implements java.awt.event.ActionListener, java.awt.event.KeyListener {    public void actionPerformed(java.awt.event.ActionEvent e) {      
         if (e.getSource() == VCEStyle2.this.getCancelButton())     
         connEtoC3(e);   
      };    
       public void keyPressed(java.awt.event.KeyEvent e) {      
          if (e.getSource() == VCEStyle2.this.getCancelButton())     
          connEtoC2(e);   
      if (e.getSource() == VCEStyle2.this)     
          connEtoC1(e);   
      };    
       public void keyReleased(java.awt.event.KeyEvent e) {};    
       public void keyTyped(java.awt.event.KeyEvent e) {}; 
      }; 

フィードバック