|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.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 内の getUIClassIDJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)public void updateUI()
JComponent 内の updateUIUIManager.getUI(javax.swing.JComponent)protected JComponent createEditor(SpinnerModel model)
JComponent を作成するために、コンストラクタによって呼び出されます。また、エディタを使用することにより、ユーザはシーケンスの要素を直接入力することが可能になります。エディタは model の ChangeEvents を待機し、表示する値がモデルの値と同期するように維持する必要があります。
サブクラスは、このメソッドをオーバーライドして、新しい SpinnerModel クラスのサポートを追加します。また、ここで作成されたエディタを、単に setEditor メソッドと置き換えることもできます。モデル型からエディタへのデフォルトのマッピングは、次のとおりです。
SpinnerNumberModel => JSpinner.NumberEditorSpinnerDateModel => JSpinner.DateEditorSpinnerListModel => JSpinner.ListEditorJSpinner.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()
nullgetValue(),
getPreviousValue(),
SpinnerModel.getNextValue()public void addChangeListener(ChangeListener listener)
ChangeListeners に送信された ChangeEvents のソースはこの JSpinner です。モデルの置き換えは Jspinner に直接追加されたリスナーに影響を与えないことにも注意してください。アプリケーションは、リスナーをモデルに直接追加できます。この場合は、イベントのソースは SpinnerModel となります。
listener - 追加する ChangeListenerremoveChangeListener(javax.swing.event.ChangeListener),
getModel()public void removeChangeListener(ChangeListener listener)
ChangeListener を削除します。
listener - 削除する ChangeListenerfireStateChanged(),
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),
EventListenerListpublic Object getPreviousValue()
getValue() によって返されたオブジェクトの前にあるシーケンスのオブジェクトを返します。シーケンスの終点に到達した場合、null を返します。このメソッドの呼び出しは value に影響を与えません。
このメソッドは単に model に委譲されます。これは次の場合と同等です。
getModel().getPreviousValue()
nullgetValue(),
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 内の getAccessibleContextJComponent 内の getAccessibleContextAccessibleContext- 導入されたバージョン:
- 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 も参照してください。