|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JSpinner
public class JSpinner
ユーザが、順序付けられたシーケンスから数またはオブジェクトを選択できるようにする単一行の入力フィールドです。通常、スピナーはシーケンスの要素間を移動するための小さな矢印ボタンのペアを提供します。キーボードの上/下矢印キーでも要素間を自由に移動できます。ユーザがスピナーに直接 (有効な) 値を入力することもできます。コンボボックスは類似の機能を提供しますが、重要なデータを覆い隠してしまうドロップダウンリストを必要としないため、スピナーのほうが好まれる場合があります。
JSpinner
のシーケンスの値は、SpinnerModel
によって定義されます。model
は、コンストラクタの引数として指定し、model
プロパティを使用して変更できます。一部の共通の型として、SpinnerListModel
、SpinnerNumberModel
、および SpinnerDateModel
などの SpinnerModel
クラスが提供されます。
JSpinner
は、モデルの現在の要素または「値」を表示し、変更も扱う単一の子コンポーネントを持ちます。これは editor
と呼ばれます。エディタは、JSpinner
のコンストラクタによって作成され、editor
プロパティによって変更できます。JSpinner
のエディタは、ChangeEvent
を待機することにより、モデルとの同期を維持します。ユーザが editor
によって表示された値を変更すると、model
の値と editor
の値が異なってしまう可能性があります。model
の値がエディタの値と同じかどうかを確認するには、commitEdit
メソッドを使用します。次に例を示します。
try { spinner.commitEdit(); } catch (ParseException pe) {{ // Edited value is invalid, spinner.getValue() will return // the last valid value, you could revert the spinner to show that: JComponent editor = spinner.getEditor() if (editor instanceof DefaultEditor) { ((DefaultEditor)editor).getTextField().setValue(spinner.getValue(); } // reset the value to some known value: spinner.setValue(fallbackValue); // or treat the last valid value as the current, in which // case you don't need to do anything. } return spinner.getValue();
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降、すべての JavaBeans™ の長期間の運用サポートは、java.beans
パッケージに追加されています。詳細は、XMLEncoder
を参照してください。
SpinnerModel
,
AbstractSpinnerModel
,
SpinnerListModel
,
SpinnerNumberModel
,
SpinnerDateModel
,
JFormattedTextField
入れ子のクラスの概要 | |
---|---|
protected class |
JSpinner.AccessibleJSpinner
AccessibleJSpinner は JSpinner クラス用のユーザ補助機能のサポートを実装します。 |
static class |
JSpinner.DateEditor
モデルを SpinnerDateModel とする JSpinner 用のエディタです。 |
static class |
JSpinner.DefaultEditor
特殊なエディタ用の簡単な基底クラスです。 |
static class |
JSpinner.ListEditor
モデルが SpinnerListModel の JSpinner 用のエディタです。 |
static class |
JSpinner.NumberEditor
モデルが SpinnerNumberModel の JSpinner 用のエディタです。 |
クラス javax.swing.JComponent から継承された入れ子のクラス/インタフェース |
---|
JComponent.AccessibleJComponent |
クラス java.awt.Container から継承された入れ子のクラス/インタフェース |
---|
Container.AccessibleAWTContainer |
クラス java.awt.Component から継承された入れ子のクラス/インタフェース |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
フィールドの概要 |
---|
クラス javax.swing.JComponent から継承されたフィールド |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
クラス java.awt.Component から継承されたフィールド |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
インタフェース java.awt.image.ImageObserver から継承されたフィールド |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
コンストラクタの概要 | |
---|---|
JSpinner()
初期値が 0 で最小値または最大値の制限がない Integer SpinnerNumberModel を持つスピナーを構築します。 |
|
JSpinner(SpinnerModel model)
次へ進むおよび前に戻るボタンのペアと SpinnerModel 用のエディタを持つ完全なスピナーを構築します。 |
メソッドの概要 | |
---|---|
void |
addChangeListener(ChangeListener listener)
リスナーを、モデルへの変更が行われるたびに通知されるリストに追加します。 |
void |
commitEdit()
現在編集されている値を SpinnerModel に確定します。 |
protected JComponent |
createEditor(SpinnerModel model)
このメソッドは、シーケンスの現在の値を表示する JComponent を作成するために、コンストラクタによって呼び出されます。 |
protected void |
fireStateChanged()
この JSpinner のソースを保持する ChangeEvent を各 ChangeListener に送信します。 |
AccessibleContext |
getAccessibleContext()
JSpinner の AccessibleContext を取得します。 |
ChangeListener[] |
getChangeListeners()
addChangeListener() を使用して、この JSpinner に追加されたすべての ChangeListener の配列を返します。 |
JComponent |
getEditor()
モデルの値を表示し、変更もできるコンポーネントを返します。 |
SpinnerModel |
getModel()
このスピナーの値のシーケンスを定義する SpinnerModel 返します。 |
Object |
getNextValue()
getValue() によって返されたオブジェクトの後にあるシーケンスのオブジェクトを返します。 |
Object |
getPreviousValue()
getValue() によって返されたオブジェクトの前にあるシーケンスのオブジェクトを返します。 |
SpinnerUI |
getUI()
このコンポーネントを描画する Look & Feel (L&F) オブジェクトを返します。 |
String |
getUIClassID()
Look & Feel (L&F) クラスの名前の構築に使用された接頭辞を返します。 |
Object |
getValue()
モデルの現在の値を返します。 |
void |
removeChangeListener(ChangeListener listener)
このスピナーから ChangeListener を削除します。 |
void |
setEditor(JComponent editor)
SpinnerModel の現在の値を表示する JComponent を変更します。 |
void |
setModel(SpinnerModel model)
このスピナーの値を表すモデルを変更します。 |
void |
setUI(SpinnerUI ui)
このコンポーネントを描画する Look & Feel (L&F) オブジェクトを設定します。 |
void |
setValue(Object value)
モデルの現在の値を変更します。 |
void |
updateUI()
現在の Look & Feel からの値を持つ UI プロパティをリセットします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public JSpinner(SpinnerModel model)
SpinnerModel
用のエディタを持つ完全なスピナーを構築します。
public JSpinner()
Integer SpinnerNumberModel
を持つスピナーを構築します。
メソッドの詳細 |
---|
public SpinnerUI getUI()
SpinnerUI
オブジェクトpublic void setUI(SpinnerUI ui)
ui
- SpinnerUI
L&F オブジェクトUIDefaults.getUI(javax.swing.JComponent)
public String getUIClassID()
JComponent
内の getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
JComponent
内の updateUI
UIManager.getUI(javax.swing.JComponent)
protected JComponent createEditor(SpinnerModel model)
JComponent
を作成するために、コンストラクタによって呼び出されます。また、エディタを使用することにより、ユーザはシーケンスの要素を直接入力することが可能になります。エディタは model
の ChangeEvents
を待機し、表示する値がモデルの値と同期するように維持する必要があります。
サブクラスは、このメソッドをオーバーライドして、新しい SpinnerModel
クラスのサポートを追加します。また、ここで作成されたエディタを、単に setEditor
メソッドと置き換えることもできます。モデル型からエディタへのデフォルトのマッピングは、次のとおりです。
SpinnerNumberModel => JSpinner.NumberEditor
SpinnerDateModel => JSpinner.DateEditor
SpinnerListModel => JSpinner.ListEditor
JSpinner.DefaultEditor
model
- getModel の値
getModel()
,
setEditor(javax.swing.JComponent)
public void setModel(SpinnerModel model)
"model"
PropertyChangeEvent
がトリガされたあとで暗黙の内に設定されます。エディタのプロパティは、次のように createEditor
によって返された値に設定されます。
setEditor(createEditor(model));
model
- 新しい SpinnerModel
IllegalArgumentException
- モデルが null
の場合getModel()
,
getEditor()
,
setEditor(javax.swing.JComponent)
public SpinnerModel getModel()
SpinnerModel
返します。
setModel(javax.swing.SpinnerModel)
public Object getValue()
editor
によって表示されます。ユーザが editor
によって表示された値を変更すると、model
の値と editor
の値が異なってしまう可能性があります。この問題の対処方法の例については、クラスレベルの javadoc を参照してください。
このメソッドは単に model
に委譲されます。これは次の場合と同等です。
getModel().getValue()
setValue(java.lang.Object)
,
SpinnerModel.getValue()
public void setValue(Object value)
editor
によって表示されます。SpinnerModel
の実装が指定された値をサポートしない場合は、IllegalArgumentException
がスローされます。
このメソッドは単に model
に委譲されます。これは次の場合と同等です。
getModel().setValue(value)
IllegalArgumentException
- value
が正当でない場合getValue()
,
SpinnerModel.setValue(java.lang.Object)
public Object getNextValue()
getValue()
によって返されたオブジェクトの後にあるシーケンスのオブジェクトを返します。シーケンスの終点に到達した場合、null
を返します。このメソッドの呼び出しは value
に影響を与えません。
このメソッドは単に model
に委譲されます。これは次の場合と同等です。
getModel().getNextValue()
null
getValue()
,
getPreviousValue()
,
SpinnerModel.getNextValue()
public void addChangeListener(ChangeListener listener)
ChangeListeners
に送信された ChangeEvents
のソースはこの JSpinner
です。モデルの置き換えは Jspinner に直接追加されたリスナーに影響を与えないことにも注意してください。アプリケーションは、リスナーをモデルに直接追加できます。この場合は、イベントのソースは SpinnerModel
となります。
listener
- 追加する ChangeListener
removeChangeListener(javax.swing.event.ChangeListener)
,
getModel()
public void removeChangeListener(ChangeListener listener)
ChangeListener
を削除します。
listener
- 削除する ChangeListener
fireStateChanged()
,
addChangeListener(javax.swing.event.ChangeListener)
public ChangeListener[] getChangeListeners()
ChangeListener
の配列を返します。
ChangeListener
、またはリスナーが追加されていない場合は空の配列protected void fireStateChanged()
JSpinner
のソースを保持する ChangeEvent
を各 ChangeListener
に送信します。ChangeListener
がスピナーに追加されている場合、モデルから ChangeEvent
を受け取るたびに、このメソッドが呼び出されます。
addChangeListener(javax.swing.event.ChangeListener)
,
removeChangeListener(javax.swing.event.ChangeListener)
,
EventListenerList
public Object getPreviousValue()
getValue()
によって返されたオブジェクトの前にあるシーケンスのオブジェクトを返します。シーケンスの終点に到達した場合、null
を返します。このメソッドの呼び出しは value
に影響を与えません。
このメソッドは単に model
に委譲されます。これは次の場合と同等です。
getModel().getPreviousValue()
null
getValue()
,
getNextValue()
,
SpinnerModel.getPreviousValue()
public void setEditor(JComponent editor)
SpinnerModel
の現在の値を表示する JComponent
を変更します。このメソッドにより、古いエディタがモデルから切り離され、新しいエディタが接続されます。これは、古いエディタの ChangeListener
をモデルまたはスピナー自体から削除して、新しいエディタの変更リスナーを追加することを意味します。
editor
- 新しいエディタ
IllegalArgumentException
- エディタが null
の場合getEditor()
,
createEditor(javax.swing.SpinnerModel)
,
getModel()
public JComponent getEditor()
setEditor(javax.swing.JComponent)
,
createEditor(javax.swing.SpinnerModel)
public void commitEdit() throws ParseException
SpinnerModel
に確定します。
エディタが DefaultEditor
のインスタンスの場合、エディタに転送されたときは呼び出しを行い、それ以外のときは何も処理を行いません。
ParseException
- 現在編集されている値が確定できなかった場合public AccessibleContext getAccessibleContext()
JSpinner
の AccessibleContext
を取得します。
Accessible
内の getAccessibleContext
JComponent
内の getAccessibleContext
AccessibleContext- 導入されたバージョン:
- 1.5
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。