|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JViewport
基本となる情報を見るために使用する「ビューポート (窓)」です。スクロールするときに移動するのがビューポートです。これは、カメラのファインダーを覗くことに似ています。ファインダーを上に向かって動かすと、新しいものが視野の一番上に入り、一番下にあったものが視野から消えます。
デフォルトでは、JViewport は不透明です。これを変更する場合は、setOpaque メソッドを使用します。
注: 描画する際にバッファを必要としない高速スクロールアルゴリズムを実装しました。アルゴリズムの機能は次のとおりです。
JComponents かどうかを調べる。そうでない場合は中止して、ビューポート全体をペイントし直す
copyArea をペイントし直す
copyArea を 2 回実行したりすることを避けることができます。バッキングストア以外の場合と比較すると、ペイント領域を大幅に削減できます。
この方法は、ビューポートがほかのウィンドウで隠されたり、部分的にオフスクリーンとなると、バッキングストア法よりも速度が遅くなります。ほかのウィンドウでビューポートが隠されると、copyArea はガベージをコピーしシステムがペイントイベントを生成して、新たに出現した領域をペイントする必要があることを知らせます。これを処理する唯一の方法は、ビューポート全体をペイントし直すことです。ただし、バッキングストアの場合に比較してパフォーマンスが低下することがあります。非常にまれではありますが、ビューポートがほかのウィンドウで隠されているときにユーザがスクロールすることがあるため、ほとんどのアプリケーションでこの最適化機能は、ビューポートが隠された場合に有効となります。 警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。
JScrollPane, 直列化された形式| 内部クラスの概要 | |
protected class |
JViewport.AccessibleJViewport
このクラスは JViewport クラス用のユーザ補助機能のサポートを実装しています。 |
protected class |
JViewport.ViewListener
ビューのリスナーです。 |
| クラス javax.swing.JComponent から継承した内部クラス |
JComponent.AccessibleJComponent |
| クラス java.awt.Container から継承した内部クラス |
Container.AccessibleAWTContainer |
| クラス java.awt.Component から継承した内部クラス |
Component.AccessibleAWTComponent |
| フィールドの概要 | |
protected boolean |
backingStore
推奨されていません。 Java 2 プラットフォーム v1.3 以降 |
static int |
BACKINGSTORE_SCROLL_MODE
ビューポートのコンテンツをオフスクリーンイメージに描画します。 |
protected Image |
backingStoreImage
バッキングストアに使用されるビューイメージです。 |
static int |
BLIT_SCROLL_MODE
graphics.copyArea() を使用してスクロールを実装します。 |
protected boolean |
isViewSizeSet
ビューポートの寸法が決められている場合に true を返します。 |
protected Point |
lastPaintPosition
最後にペイントされた viewPosition です。 |
protected boolean |
scrollUnderway
scrollUnderway フラグは、JList などのコンポーネントで使用されます。 |
static int |
SIMPLE_SCROLL_MODE
このモードはスクロールペインをスクロールするたびに全コンテンツを再描画するという非常に簡単なメソッドを使います。 |
| クラス 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 |
| コンストラクタの概要 | |
JViewport()
JViewport を生成します。 |
|
| メソッドの概要 | |
void |
addChangeListener(ChangeListener l)
ビューのサイズ、位置、またはビューポートの長さが変更されるたびに通知されるリストに ChangeListener を追加します。 |
protected void |
addImpl(Component child,
Object constraints,
int index)
JViewport の 1 つの軽量な子を設定します。 |
protected boolean |
computeBlit(int dx,
int dy,
Point blitFrom,
Point blitTo,
Dimension blitSize,
Rectangle blitPaint)
blit のパラメータを計算します。 |
protected LayoutManager |
createLayoutManager()
サブクラサがこのメソッドをオーバーライドすると、コンストラクタで別のレイアウトマネージャ (または null) をインストールできます。 |
protected JViewport.ViewListener |
createViewListener()
ビューのリスナーを生成します。 |
protected void |
firePropertyChange(String propertyName,
Object oldValue,
Object newValue)
リスナーにプロパティの変更を通知します。 |
protected void |
fireStateChanged()
ビューのサイズ、位置、またはビューポートの長さが変更されると、すべての ChangeListeners に通知します。 |
AccessibleContext |
getAccessibleContext()
この JViewport に関連した AccessibleContext を返します。 |
Dimension |
getExtentSize()
ビューの可視部分のサイズをビューの座標で返します。 |
Insets |
getInsets()
JViewport ではボーダがサポートされていないので、インセット (ボーダ) の寸法を (0,0,0,0) として返します。 |
Insets |
getInsets(Insets insets)
この JViewport のインセット値を格納する Insets オブジェクトを返します。 |
int |
getScrollMode()
現在のスクロールモードを返します。 |
ViewportUI |
getUI()
このコンポーネントを描画する L&F オブジェクトを返します。 |
String |
getUIClassID()
このコンポーネントを描画する L&F クラスの名前を文字列で返します。 |
Component |
getView()
JViewport の 1 つの子または null を返します。 |
Point |
getViewPosition()
ビューポートの左上隅に表示されるビューの座標を返します。 |
Rectangle |
getViewRect()
起点が getViewPosition、サイズが getExtentSize である矩形を返します。 |
Dimension |
getViewSize()
ビューのサイズが明示的に設定されていない場合は、適切なサイズを返します。 |
boolean |
isBackingStoreEnabled()
推奨されていません。 Java 2 プラットフォーム v1.3 以降、 getScrollMode() に置き換えられました。 |
boolean |
isOptimizedDrawingEnabled()
JViewport は (JComponent で) このメソッドのデフォルト実装をオーバーライドし、false を返します。 |
void |
paint(Graphics g)
backingStore が使用可能かどうかに応じて、バッキングストアを介してイメージをペイントするか、または現在表示されている部分だけをペイントし、バッキングストアを使用して残りの部分を「blit」します。
|
protected String |
paramString()
この JViewport の文字列表現を返します。 |
void |
remove(Component child)
Viewport の 1 つの軽量な子を削除します。 |
void |
removeChangeListener(ChangeListener l)
ビューのサイズ、位置、またはビューポートの長さが変更されるたびに通知されるリストから ChangeListener を削除します。 |
void |
repaint(long tm,
int x,
int y,
int w,
int h)
RepaintManager によって paint が 1 回だけ実行されるように、常に親の座標体系で再ペイントします。 |
void |
reshape(int x,
int y,
int w,
int h)
このビューポートの境界を設定します。 |
void |
scrollRectToVisible(Rectangle contentRect)
ビュー内の Rectangle が可視になるようにビューをスクロールするためにオーバーライドされます。 |
void |
setBackingStoreEnabled(boolean enabled)
推奨されていません。 Java 2 プラットフォーム v1.3 以降、 setScrollMode() に置き換えられました。 |
void |
setBorder(Border border)
ビューポートは、通常の親または子のクリッピングでその子 (「ビュー」と呼ばれる) を「スクロール」します。 |
void |
setExtentSize(Dimension newExtent)
ビューの座標を使用してビューの可視部分のサイズを設定します。 |
void |
setScrollMode(int mode)
ビューポートコンテンツのスクロールメソッドを制御するために使用します。 |
void |
setUI(ViewportUI ui)
このコンポーネントを描画する L&F オブジェクトを設定します。 |
void |
setView(Component view)
JViewport の 1 つの軽量な子 (view) を設定します。 |
void |
setViewPosition(Point p)
ビューポートの左上隅に表示されるビューの座標を設定します。 |
void |
setViewSize(Dimension newSize)
ビューポートの左上隅に表示されるビューの座標、およびビューのサイズを設定します。 |
Dimension |
toViewCoordinates(Dimension size)
ピクセル座標のサイズをビューの座標に変換します。 |
Point |
toViewCoordinates(Point p)
ピクセル座標のポイントをビューの座標に変換します。 |
void |
updateUI()
L&F が変更されたことを示す UIFactory からの通知です。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
protected boolean isViewSizeSet
protected Point lastPaintPosition
viewPosition です。バッキングストアイメージがどのくらい有効かを知ることができます。protected boolean backingStore
setScrollMode(int)protected transient Image backingStoreImage
protected boolean scrollUnderway
scrollUnderway フラグは、JList などのコンポーネントで使用されます。JList で下矢印キーが押され、選択されているセルがリストの最後のセルである場合、scrollpane はオートスクロールします。ここで、選択されていたセルは再ペイントの必要があるため、setViewPosition(Point) の明示的な呼び出しがある場合にだけ、ビューポートが最適化されたペイントをするためにフラグが必要になります。setBounds がほかのルートを介して呼び出される場合、フラグはオフになり、ビューは普通に再ペイントされます。これとは別に、JViewport クラスからこれを削除し、setBackingStoreEnabled を使用して JList にこの場合の制御をさせる方法もあります。デフォルトは false です。public static final int BLIT_SCROLL_MODE
graphics.copyArea() を使用してスクロールを実装します。この方法がほとんどのアプリケーションにとって最も速い方法です。setScrollMode(int)public static final int BACKINGSTORE_SCROLL_MODE
JTable のデフォルトでした。この方法は、場合によっては「blit mode」には有用かもしれませんが、かなりの量の余分な RAM が必要となります。setScrollMode(int)public static final int SIMPLE_SCROLL_MODE
setScrollMode(int)| コンストラクタの詳細 |
public JViewport()
JViewport を生成します。| メソッドの詳細 |
public ViewportUI getUI()
public void setUI(ViewportUI ui)
ui - ViewportUI L&F オブジェクトUIDefaults.getUI(javax.swing.JComponent)public void updateUI()
UIFactory からの通知です。JComponent 内の updateUIJComponent.updateUI()public String getUIClassID()
JComponent 内の getUIClassIDJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)
protected void addImpl(Component child,
Object constraints,
int index)
JViewport の 1 つの軽量な子を設定します。null も指定できます。ビューポート全体を占める子は 1 つだけなので、制約およびインデックスの引数は無視されます。Container 内の addImplchild - ビューポートの軽量な childconstraints - 遵守されるべき constraintsindex - インデックスsetView(java.awt.Component)public void remove(Component child)
Viewport の 1 つの軽量な子を削除します。Container 内の removesetView(java.awt.Component)public void scrollRectToVisible(Rectangle contentRect)
Rectangle が可視になるようにビューをスクロールするためにオーバーライドされます。JComponent 内の scrollRectToVisiblecontentRect - 表示する Rectanglepublic final void setBorder(Border border)
null 以外のボーダ (または 0 以外のインセット) は、サポートされていません。それは、サブクラス化を難しくするほどこのコンポーネントのジオメトリが複雑になるのを防ぐためです。ボーダ付きの JViewport を生成するには、ボーダを持つ JPanel にそれを追加します。
注: border が null 以外の場合、このメソッドは境界が JViewPort ではサポートされていないため例外をスローします。
JComponent 内の setBorderborder - 設定する BorderIllegalArgumentException - このメソッドは実装されていないpublic final Insets getInsets()
JViewport ではボーダがサポートされていないので、インセット (ボーダ) の寸法を (0,0,0,0) として返します。JComponent 内の getInsetsRectangesetBorder(javax.swing.border.Border)public final Insets getInsets(Insets insets)
JViewport のインセット値を格納する Insets オブジェクトを返します。渡された Insets オブジェクトは再び初期化され、このオブジェクト内のすべての既存の値は上書きされます。JComponent 内の getInsetsinsets - 再利用できる Insets オブジェクトgetInsets()public boolean isOptimizedDrawingEnabled()
JViewport は (JComponent で) このメソッドのデフォルト実装をオーバーライドし、false を返します。その結果、描画装置は JViewport の子に直接メッセージを送るのではなく、Viewport の paint の実装を呼び出します。JComponent 内の isOptimizedDrawingEnabledpublic void paint(Graphics g)
backingStore が使用可能かどうかに応じて、バッキングストアを介してイメージをペイントするか、または現在表示されている部分だけをペイントし、バッキングストアを使用して残りの部分を「blit」します。
「blit」は、PDP-10 BLT (BLock Transfer) 命令のことであり、ビットのブロックをコピーします。
JComponent 内の paintg - ペイントする Graphics コンテキスト
public void reshape(int x,
int y,
int w,
int h)
StateChanged イベントをトリガーします。JComponent 内の reshapex - 起点の左端y - 起点の上端w - ピクセル単位の幅h - ピクセル単位の高さJComponent.reshape(int, int, int, int)public void setScrollMode(int mode)
mode - 次の値のどれか。BLIT_SCROLL_MODE,
BACKINGSTORE_SCROLL_MODE,
SIMPLE_SCROLL_MODEpublic int getScrollMode()
scrollMode プロパティsetScrollMode(int)public boolean isBackingStoreEnabled()
getScrollMode() に置き換えられました。
scrollMode が BACKINGSTORE_SCROLL_MODE の場合は truepublic void setBackingStoreEnabled(boolean enabled)
setScrollMode() に置き換えられました。
viewPosition に対する一方向のわずかな変更に対するコストを削減するために使用されます。ビューポート全体を再ペイントするのではなく、Graphics.copyArea() を使用してスクロールを実行します。enabled - true の場合、オフスクリーンバッキングストアを維持するpublic Component getView()
JViewport の 1 つの子または null を返します。nullsetView(java.awt.Component)public void setView(Component view)
JViewport の 1 つの軽量な子 (view) を設定します。null も指定できます。view - ビューポートの新しい軽量な子getView()public Dimension getViewSize()
Dimension オブジェクトpublic void setViewSize(Dimension newSize)
newSize - 新しいビューの座標のサイズおよび位置を指定する Dimension オブジェクト。ビューがない場合は nullpublic Point getViewPosition()
Point オブジェクトpublic void setViewPosition(Point p)
p - 左上の座標を示す Point オブジェクトpublic Rectangle getViewRect()
getViewPosition、サイズが getExtentSize である矩形を返します。これは、ビューの座標で示されたビューの可視部分です。Rectangle
protected boolean computeBlit(int dx,
int dy,
Point blitFrom,
Point blitTo,
Dimension blitSize,
Rectangle blitPaint)
oldLoc を保持していて、これから newLoc にスクロールします。パラメータは、blit で要求される値を返すために変更されます。dx - 水平方向のデルタdy - 垂直方向のデルタblitFrom - blit 元の PointblitTo - blit 先の PointblitSize - blit する領域の DimensionblitPaint - blit 先の領域public Dimension getExtentSize()
Dimension オブジェクトpublic Dimension toViewCoordinates(Dimension size)
size - ピクセル座標を使用する Dimension オブジェクトDimension オブジェクトpublic Point toViewCoordinates(Point p)
p - ピクセル座標を使用する Point オブジェクトPoint オブジェクトpublic void setExtentSize(Dimension newExtent)
newExtent - ビューのサイズを指定する Dimension オブジェクトprotected JViewport.ViewListener createViewListener()
ViewListenerprotected LayoutManager createLayoutManager()
null) をインストールできます。新しい ViewportLayout オブジェクトを返します。LayoutManagerpublic void addChangeListener(ChangeListener l)
ChangeListener を追加します。l - 追加する ChangeListenerremoveChangeListener(javax.swing.event.ChangeListener),
setViewPosition(java.awt.Point),
setViewSize(java.awt.Dimension),
setExtentSize(java.awt.Dimension)public void removeChangeListener(ChangeListener l)
ChangeListener を削除します。l - 削除する ChangeListeneraddChangeListener(javax.swing.event.ChangeListener)protected void fireStateChanged()
ChangeListeners に通知します。addChangeListener(javax.swing.event.ChangeListener),
removeChangeListener(javax.swing.event.ChangeListener),
EventListenerList
public void repaint(long tm,
int x,
int y,
int w,
int h)
RepaintManager によって paint が 1 回だけ実行されるように、常に親の座標体系で再ペイントします。JComponent 内の repainttm - 更新までの最大時間 (ミリ秒)x - x 座標 (左からのピクセル数)y - y 座標 (上からのピクセル数)width - 幅height - 高さComponent.update(java.awt.Graphics)protected String paramString()
JViewport の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。JComponent 内の paramStringJViewport の文字列表現
protected void firePropertyChange(String propertyName,
Object oldValue,
Object newValue)
windowBlit プロパティを更新します。(putClientProperty プロパティは final です。)JComponent 内の firePropertyChangepropertyName - プロパティ名が格納されている文字列oldValue - プロパティの古い値newValue - プロパティの新しい値public AccessibleContext getAccessibleContext()
Accessible 内の getAccessibleContextJComponent 内の getAccessibleContext
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.