モジュール java.desktop
パッケージ java.awt.event

クラスMouseWheelEvent

すべての実装されたインタフェース:
Serializable

public class MouseWheelEvent
extends MouseEvent
コンポーネント内でマウス・ホイールが回転したことを示すイベントです。

ホイール・マウスは、中央ボタンの代わりにホイールを持つマウスです。 このホイールはユーザーの方向またはその反対方向に回転させることができます。 マウス・ホイールは(ほかの使用方法もありますが)主にスクロールするために使用されます。

MouseWheelEventオブジェクトは、コンポーネントのaddMouseWheelListenerメソッドを使って「関連する」マウス・イベントを受け取るように登録されているすべてのMouseWheelListenerオブジェクトに渡されます。 各リスナー・オブジェクトは、マウス・イベントを含むMouseEventを取得します。

マウス・ホイールがスクロールするComponentと関係が深いため、MouseWheelEventsはほかのMouseEventsとは多少異なった形で送信されます。 これは、ほかのMouseEventsが通常はマウス・カーソルのすぐ下にあるComponentの変更に影響を与える(たとえば、ボタンをクリックした場合)のに対して、MouseWheelEventsは多くの場合マウス・カーソルに影響しないためです(ScrollPaneのComponent上でホイールを動かすとScrollPaneのScrollbarの1つがスクロールするはずです)。

MouseWheelEventsはマウス・カーソルの下にあるComponentからイベントの送信を開始します。 そのComponentでMouseWheelEventsが有効でない場合、イベントはMouseWheelEventsが有効になっている最初の祖先Containerに送信されます。 これは通常、ホイール・スクロールが有効になっているScrollPaneです。 ソースComponentおよびx、y座標は、イベントの最終送信先(ScrollPane)を基準にします。 これにより、ScrollPaneを変更せずに複雑なGUIをインストールし、すべてのMouseWheelEventsをScrollPaneに送信してスクロールできます。

一部のAWT Componentは、独自のスクロール・バーを表示して独自のスクロールを操作するネイティブ・ウィジェットを使って実装されます。 これがtrueであるComponentは、プラットフォームごとに異なります。 マウス・ホイールがこのようなComponentのいずれかの上を動くと、イベントは直接ネイティブ・ウィジェットに送信され、祖先には伝達されません。

プラットフォームは、マウス・ホイールが動いたときに発生するスクロール量のカスタマイズを提供します。 もっとも一般的な2つの設定は、一定数の「ユニット」(一般的には、テキストベース・コンポーネント内のテキスト行)、または「ブロック」全体(Page UpやPage Downに似ています)のスクロールです。 MouseWheelEventは、基本となるプラットフォーム設定に準拠するためのメソッドを提供します。 ユーザーは、これらのプラットフォーム設定をいつでも変更できます。 MouseWheelEventsは最新の設定を反映します。

MouseWheelEventクラスには、何回の「クリック」でマウス・ホイールが回転したかを取得するメソッドが含まれます。 getWheelRotation()メソッドは、マウス・ホイールが回転したノッチ数に対応する「クリック」数(integer)を返します。 このメソッドに加えて、MouseWheelEventクラスは、部分回転が発生した場合の「クリック」数(double)を返すgetPreciseWheelRotation()メソッドを提供します。 getPreciseWheelRotation()メソッドは、ノッチなしで自由に回転するホイールなどの高解像度ホイールをマウスがサポートしている場合に便利です。 アプリケーションには、このメソッドを利用することでマウス・ホイール・イベントを正確に処理できるという利点があり、視覚的に滑らかにできます。

導入されたバージョン:
1.4
関連項目:
MouseWheelListener, ScrollPane, ScrollPane.setWheelScrollingEnabled(boolean), JScrollPane, JScrollPane.setWheelScrollingEnabled(boolean), 直列化された形式
  • フィールド詳細

  • コンストラクタの詳細

    • MouseWheelEvent

      public MouseWheelEvent​(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
      指定されたソース・コンポーネント、タイプ、修飾子、座標、スクロール・タイプ、スクロール量、およびホイール回転で、MouseWheelEventオブジェクトを構築します。

      絶対座標xAbsとyAbsは、画面上のソースの位置に相対座標xとyを加算した値に設定されます。ソースが表示されていない場合、xAbsとyAbsは0に設定されます。

      無効なidを渡すと、未指定の動作になります。 このメソッドはsourcenullの場合にIllegalArgumentExceptionをスローします。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントを特定する整数
      when - イベントの発生時間を渡すlong値
      modifiers - イベント発生時に押された修飾キー(Shift、Ctrl、Alt、Meta)
      x - マウス位置のx座標(水平方向)
      y - マウス位置のy座標(垂直方向)
      clickCount - イベントに関連付けられたマウス・クリックの回数
      popupTrigger - boolean型。このイベントがポップアップ・メニューのトリガーの場合はtrue
      scrollType - このイベントに応答して発生するスクロールのタイプ。有効な値はWHEEL_UNIT_SCROLLおよびWHEEL_BLOCK_SCROLL
      scrollAmount - scrollTypeがWHEEL_UNIT_SCROLLの場合、スクロールされるユニット数
      wheelRotation - マウス・ホイールを回転させた「クリック」数(整数)
      例外:
      IllegalArgumentException - sourceがnullである場合
      関連項目:
      MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean), MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)
    • MouseWheelEvent

      public MouseWheelEvent​(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
      指定されたソース・コンポーネント、タイプ、修飾子、座標、絶対座標、スクロール・タイプ、スクロール量、およびホイール回転で、MouseWheelEventオブジェクトを構築します。

      無効なidを渡すと、未指定の動作になります。 このメソッドはsourcenullの場合にIllegalArgumentExceptionをスローします。

      コンストラクタに渡された相対座標と絶対座標の値が矛盾している場合でもMouseWheelEventインスタンスは作成され、例外はスローされません。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントを特定する整数
      when - イベントの発生時間を渡すlong値
      modifiers - イベント発生時に押された修飾キー(Shift、Ctrl、Alt、Meta)
      x - マウス位置のx座標(水平方向)
      y - マウス位置のy座標(垂直方向)
      xAbs - マウス位置の絶対x座標(水平方向)
      yAbs - マウス位置の絶対y座標(垂直方向)
      clickCount - イベントに関連付けられたマウス・クリックの回数
      popupTrigger - boolean型。このイベントがポップアップ・メニューのトリガーの場合はtrue
      scrollType - このイベントに応答して発生するスクロールのタイプ。有効な値はWHEEL_UNIT_SCROLLおよびWHEEL_BLOCK_SCROLL
      scrollAmount - scrollTypeがWHEEL_UNIT_SCROLLの場合、スクロールされるユニット数
      wheelRotation - マウス・ホイールを回転させた「クリック」数(整数)
      例外:
      IllegalArgumentException - sourceがnullである場合
      導入されたバージョン:
      1.6
      関連項目:
      MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean), MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)
    • MouseWheelEvent

      public MouseWheelEvent​(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation, double preciseWheelRotation)
      指定されたソース・コンポーネント、タイプ、修飾子、座標、絶対座標、スクロール・タイプ、スクロール量、およびホイール回転で、MouseWheelEventオブジェクトを構築します。

      無効なidパラメータを渡すと、未指定の動作になります。 このメソッドはsourcenullに等しい場合にIllegalArgumentExceptionをスローします。

      コンストラクタに渡された相対座標と絶対座標の値が矛盾している場合でもMouseWheelEventインスタンスは作成され、例外はスローされません。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントを特定する整数値
      when - イベントの発生時間を渡すlong値
      modifiers - イベント発生時に押された修飾キー(Shift、Ctrl、Alt、Meta)
      x - マウス位置のx座標(水平方向)
      y - マウス位置のy座標(垂直方向)
      xAbs - マウス位置の絶対x座標(水平方向)
      yAbs - マウス位置の絶対y座標(垂直方向)
      clickCount - イベントに関連付けられたマウス・クリックの回数
      popupTrigger - boolean値。このイベントがポップアップ・メニューのトリガーの場合はtrue
      scrollType - このイベントに応答して発生するスクロールのタイプ。有効な値はWHEEL_UNIT_SCROLLおよびWHEEL_BLOCK_SCROLL
      scrollAmount - scrollTypeがWHEEL_UNIT_SCROLLの場合、スクロールされるユニット数
      wheelRotation - マウス・ホイールを回転させた「クリック」数(整数)
      preciseWheelRotation - マウス・ホイールを回転させた「クリック」数(double)
      例外:
      IllegalArgumentException - sourceがnullである場合
      導入されたバージョン:
      1.7
      関連項目:
      MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean), MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)
  • メソッドの詳細

    • getScrollType

      public int getScrollType()
      このイベントに応答して発生するスクロールのタイプを返します。 これはネイティブ・プラット・フォームによって決まります。 次に有効な値を示します。
      • MouseWheelEvent.WHEEL_UNIT_SCROLL
      • MouseWheelEvent.WHEEL_BLOCK_SCROLL
      戻り値:
      ネイティブ・プラット・フォームの構成により、MouseWheelEvent.WHEEL_UNIT_SCROLLまたはMouseWheelEvent.WHEEL_BLOCK_SCROLLのいずれか
      関連項目:
      Adjustable.getUnitIncrement(), Adjustable.getBlockIncrement(), Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)
    • getScrollAmount

      public int getScrollAmount()
      マウス・ホイール回転のクリックごとにスクロールされるユニット数を返します。 getScrollTypeMouseWheelEvent.WHEEL_UNIT_SCROLLを返す場合にのみ有効です。
      戻り値:
      スクロールするユニット数、または未定義の値(getScrollTypeMouseWheelEvent.WHEEL_BLOCK_SCROLLを返す場合)
      関連項目:
      getScrollType()
    • getWheelRotation

      public int getWheelRotation()
      マウス・ホイールを回転させた「クリック」数を整数として返します。 マウスが高解像度ホイールをサポートしている場合、部分回転が発生することがあります。 この場合、完全な「クリック」が蓄積されるまでメソッドはゼロを返します。
      戻り値:
      マウス・ホイールが上側またはユーザーから離れる方向に回転した場合は負の値、マウス・ホイールが下側またはユーザーに向かって回転した場合は正の値
      関連項目:
      getPreciseWheelRotation()
    • getPreciseWheelRotation

      public double getPreciseWheelRotation()
      マウス・ホイールを回転させた「クリック」数をdouble値として返します。 マウスが高解像度ホイールをサポートしている場合、部分回転が発生することがあります。 この場合、戻り値には部分的な「クリック」が含まれます。
      戻り値:
      マウス・ホイールが上側またはユーザーから離れる方向に回転した場合は負の値、マウス・ホイールが下側またはユーザーに向かって回転した場合は正の値
      導入されたバージョン:
      1.7
      関連項目:
      getWheelRotation()
    • getUnitsToScroll

      public int getUnitsToScroll()
      プラットフォーム設定に準拠する量でScrollPaneまたはJScrollPaneをスクロールする一般的なMouseWheelListenerの実装に役立つ便利なメソッドです。 ただし、ScrollPaneおよびJScrollPaneには、すでにこの機能が組み込まれています。

      このメソッドは、スクロールのタイプがMouseWheelEvent.WHEEL_UNIT_SCROLLの場合にスクロールするユニット数を返します。getScrollTypeがMouseWheelEvent.WHEEL_UNIT_SCROLLを返す場合にのみ呼び出されます。

      スクロールの方向、ホイールの移動量、およびホイール・スクロールに関するプラットフォーム設定がすべて考慮されます。 このメソッドはAdjustableまたはScrollableユニット増分値を考慮せず、また考慮できません。この値はスクロール・コンポーネントによって変わるためです。

      このメソッドがリスナーで使用される簡単な例を次に示します。

        mouseWheelMoved(MouseWheelEvent event) {
            ScrollPane sp = getScrollPaneFromSomewhere();
            Adjustable adj = sp.getVAdjustable()
            if (MouseWheelEvent.getScrollType() == WHEEL_UNIT_SCROLL) {
                int totalScrollAmount =
                    event.getUnitsToScroll() *
                    adj.getUnitIncrement();
                adj.setValue(adj.getValue() + totalScrollAmount);
            }
        }
       

      戻り値:
      スクロールされるユニット数(マウス・ホイール回転の方向と量、およびネイティブ・プラット・フォームのホイール・スクロール設定に基づく)
      関連項目:
      getScrollType(), getScrollAmount(), MouseWheelListener, Adjustable, Adjustable.getUnitIncrement(), Scrollable, Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int), ScrollPane, ScrollPane.setWheelScrollingEnabled(boolean), JScrollPane, JScrollPane.setWheelScrollingEnabled(boolean)
    • paramString

      public String paramString()
      このイベントを特定するパラメータ文字列を返します。 このメソッドは、イベント・ログの作成およびデバッグに便利です。
      オーバーライド:
      paramString、クラス: MouseEvent
      戻り値:
      イベントを特定する文字列とその属性