モジュール java.desktop
パッケージ javax.swing

クラスJSpinner.DefaultEditor

すべての実装されたインタフェース:
ImageObserver, LayoutManager, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, ChangeListener
直系の既知のサブクラス:
JSpinner.DateEditor, JSpinner.ListEditor, JSpinner.NumberEditor
含まれているクラス:
JSpinner

public static class JSpinner.DefaultEditor extends JPanel implements ChangeListener, PropertyChangeListener, LayoutManager
JFormattedTextFieldを使用してモデルの現在の値の読取り専用ビューを表示する、より特殊なエディタの単純な基底クラス。 サブクラスは、サポートの対象となるモデルの型に適したエディタを作成するようにJFormattedTextFieldを構成できます。また、モデルとテキスト・フィールドの同期を維持するstateChangedおよびpropertyChangedメソッドをオーバーライドすることもできます。

このクラスは、エディタChangeListenerを、その一部であるJSpinnerから削除するdismissメソッドを定義します。 setEditorメソッドはDefaultEditor.dismissを認識するため、開発者がJSpinner.DefaultEditorから派生するエディタを置き換える場合、ChangeListenerJSpinnerへの戻りの接続は削除されます。 ただし、そのあとの処理は開発者によるエディタ・リスナーの管理の仕方によって決まります。 同様に、サブクラスがcreateEditorをオーバーライドする場合、置き換えられたあとの処理は、サブクラスがsetEditorを使ってエディタを処理する方法によって決まります。 ほとんどの場合、setEditorによってインストールされたエディタ、またはcreateEditorをオーバーライドして作成されたエディタは、置き換えられることはないと考えられます。

このクラスは、その単一の子のJFormattedTextField用のLayoutManagerです。 デフォルトでは、子は親のイン・セットとともにただ中央に寄せられます。

導入されたバージョン:
1.4
  • コンストラクタの詳細

    • DefaultEditor

      public DefaultEditor(JSpinner spinner)
      指定されたJSpinner用のエディタ・コンポーネントを構築します。 このDefaultEditorは固有のレイアウト・マネージャであり、スピナーのChangeListenerリストに追加されます。 コンストラクタは、単一の子のJFormattedTextFieldを作成し、その値をスピナー・モデルの現在の値に初期化し、さらに、この DefaultEditorに追加します。
      パラメータ:
      spinner - このエディタが監視するスピナー・モデル
      関連項目:
      getTextField(), JSpinner.addChangeListener(javax.swing.event.ChangeListener)
  • メソッドの詳細

    • dismiss

      public void dismiss(JSpinner spinner)
      このエディタを指定されたJSpinnerから切り離します。 デフォルトでは、このメソッドは、自らスピナーのChangeListenerリストから削除します。
      パラメータ:
      spinner - このエディタを切り離すJSpinner。コンストラクタに渡されたスピナーと同じ。
    • getSpinner

      public JSpinner getSpinner()
      このエディタの上位クラスJSpinnerか、上位クラスにJSpinnerが存在しない場合はnullを返します。 通常、エディタの親はJSpinnerですが、JSpinnerのサブクラスはcreateEditorメソッドをオーバーライドして、JSpinnerとそのエディタの間に1つまたは複数のコンテナを挿入することがあります。
      戻り値:
      上位クラスJSpinner。上位クラスにJSpinnerが存在しない場合はnull
      関連項目:
      JSpinner.createEditor(javax.swing.SpinnerModel)
    • getTextField

      public JFormattedTextField getTextField()
      このエディタの子であるJFormattedTextFieldを返します。 デフォルトでは、テキスト・フィールドはエディタの最初で唯一の子になります。
      戻り値:
      ユーザーにSpinnerDateModelの値へのアクセスを許可するJFormattedTextField
      関連項目:
      getSpinner(), JSpinner.getModel()
    • stateChanged

      public void stateChanged(ChangeEvent e)
      このメソッドは、スピナーのモデルの状態が変わったときに呼び出されます。 テキスト・フィールドのvalueを、スピナー・モデルの現在の値に設定します。
      定義:
      stateChanged、インタフェース: ChangeListener
      パラメータ:
      e - モデルが変更されたJSpinnerをソースに持つChangeEvent
      関連項目:
      getTextField(), JSpinner.getValue()
    • propertyChange

      public void propertyChange(PropertyChangeEvent e)
      JFormattedTextFieldPropertyChangeListenerによって呼び出されます。 "value"プロパティが変わったとき(つまりユーザーが新しい数を入力したことを意味する)、スピナー・モデルの値を設定します。

      このクラスは、ソースがJFormattedTextFieldではないPropertyChangeEventsを無視します。したがって、サブクラスはこの DefaultEditorを、安全にほかのオブジェクトのPropertyChangeListenerにすることができます。

      定義:
      propertyChange、インタフェース: PropertyChangeListener
      パラメータ:
      e - このクラスによって作成されたJFormattedTextFieldをソースに持つPropertyChangeEvent
      関連項目:
      getTextField()
    • addLayoutComponent

      public void addLayoutComponent(String name, Component child)
      このLayoutManagerメソッドは何も行いません。 単一の子を管理するだけで、レイアウトの制約に対するサポートはありません。
      定義:
      addLayoutComponent、インタフェース: LayoutManager
      パラメータ:
      name - 無視される
      child - 無視される
    • removeLayoutComponent

      public void removeLayoutComponent(Component child)
      このLayoutManagerメソッドは何も行いません。 子ごとの状態はありません。
      定義:
      removeLayoutComponent、インタフェース: LayoutManager
      パラメータ:
      child - 無視される
    • preferredLayoutSize

      public Dimension preferredLayoutSize(Container parent)
      最初で唯一の子の適切なサイズおよび親イン・セットのサイズを返します。
      定義:
      preferredLayoutSize、インタフェース: LayoutManager
      パラメータ:
      parent - レイアウトを管理するContainer
      戻り値:
      指定されたコンテナのサブコンポーネントを配置するための望ましい寸法。
      関連項目:
      LayoutManager.minimumLayoutSize(java.awt.Container)
    • minimumLayoutSize

      public Dimension minimumLayoutSize(Container parent)
      最初で唯一の子の最小サイズおよび親イン・セットのサイズを返します。
      定義:
      minimumLayoutSize、インタフェース: LayoutManager
      パラメータ:
      parent - レイアウトを管理するContainer
      戻り値:
      指定されたコンテナのサブコンポーネントを配置するために必要な最小の寸法。
      関連項目:
      LayoutManager.preferredLayoutSize(java.awt.Container)
    • layoutContainer

      public void layoutContainer(Container parent)
      唯一の子が親イン・セット内の領域に完全に収まるようにサイズを変更します。
      定義:
      layoutContainer、インタフェース: LayoutManager
      パラメータ:
      parent - 配置されるコンテナ
    • commitEdit

      public void commitEdit() throws ParseException
      現在編集されている値をSpinnerModelにプッシュします。

      デフォルトの実装はJFormattedTextFieldcommitEditを呼び出します。

      例外:
      ParseException - 編集された値が不正の場合
    • getBaseline

      public int getBaseline(int width, int height)
      ベースラインを返します。
      オーバーライド:
      getBaseline 、クラス:  JComponent
      パラメータ:
      width - ベースラインを取得する幅
      height - ベースラインを取得する高さ
      戻り値:
      ベースラインまたは0より小さい値(適切なベースラインがないことを示す)
      例外:
      IllegalArgumentException - 幅または高さが0より小さい場合
      導入されたバージョン:
      1.6
      関連項目:
      JComponent.getBaseline(int,int), JComponent.getBaselineResizeBehavior()
    • getBaselineResizeBehavior

      public Component.BaselineResizeBehavior getBaselineResizeBehavior()
      サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。
      オーバーライド:
      getBaselineResizeBehavior 、クラス:  JComponent
      戻り値:
      コンポーネント・サイズの変化に合わせてベースラインがどのように変化するかを示す列挙
      例外:
      NullPointerException
      導入されたバージョン:
      1.6
      関連項目:
      JComponent.getBaseline(int, int)