Java プラットフォーム 1.2

javax.swing
クラス JViewport

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JViewport

public class JViewport
extends JComponent
implements Accessible

配下の情報を見るために使用する「ビューポート (窓)」です。スクロールするときに移動するのがビューポートです。これは、カメラのファインダーを覗くことに似ています。ファインダーを上に向かって動かすと、新しいものが視野の一番上に入り、一番下にあったものが視野から消えます。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
JScrollPane, 直列化された形式

内部クラスの概要
protected  class JViewport.AccessibleJViewport
          オブジェクトのユーザ補助機能を取得するために使用されるクラスです。
protected  class JViewport.ViewListener
          ビューのリスナーです。
 
クラス javax.swing.JComponent から継承した内部クラス
JComponent.AccessibleJComponent
 
フィールドの概要
protected  boolean backingStore
          このビューポートがその内容のオフスクリーンイメージを維持している場合に true を返します。
protected  Image backingStoreImage
          バッキングストアに使用されるビューイメージです。
protected  boolean isViewSizeSet
          ビューポートの寸法が決められている場合に true を返します。
protected  Point lastPaintPosition
          最後にペイントされた viewPosition です。
protected  boolean scrollUnderway
          scrollUnderway フラグは、JList などのコンポーネントで使用されます。
 
クラス 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
 
コンストラクタの概要
JViewport()
          JViewPort を作成します。
 
メソッドの概要
 void addChangeListener(ChangeListener l)
          ビューのサイズ、位置、またはビューポートの長さのサイズが変更されるたびに通知される ChangeListener をリストに追加します。
protected  void addImpl(Component child, Object constraints, int index)
          Viewport の 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 fireStateChanged()
           
 AccessibleContext getAccessibleContext()
          この JComponent に関連付けられている AccessibleContext を取得します。
 Dimension getExtentSize()
          ビューの可視部分のサイズをビューの座標で返します。
 Insets getInsets()
          JViewPort ではボーダがサポートされていないので、インセット (ボーダ) の寸法を (0,0,0,0) として返します。
 Insets getInsets(Insets insets)
          この JViewPort のインセット値を格納する Insets オブジェクトを返します。
 Component getView()
          Viewport の 1 つの子または null を返します。
 Point getViewPosition()
          ビューポートの左上隅に表示されるビューの座標を返します。
 Rectangle getViewRect()
          起点が getViewPosition、サイズが getExtentSize() である矩形を返します。
 Dimension getViewSize()
          ビューのサイズが明示的に設定されていない場合は、適切なサイズを返します。
 boolean isBackingStoreEnabled()
          このビューポートがその内容のオフスクリーンイメージを維持している場合に true を返します。
 boolean isOptimizedDrawingEnabled()
          JViewport は (JComponent で) このメソッドのデフォルト実装をオーバーライドし、false を返します。
 void paint(Graphics g)
          バックングストアが使用可能かどうかに応じて、バッキングストアを介してイメージをペイントするか、または現在露出している部分だけをペイントし、バッキングストアを使用して残りの部分を「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 x)
          true の場合、このビューポートはその内容のオフスクリーンイメージを維持します。
 void setBorder(Border border)
          ビューポートは、通常の親/子クリッピングでその子 (「ビュー」と呼ばれる) を「スクロール」します。
 void setExtentSize(Dimension newExtent)
          ビューの座標を使用してビューの可視部分のサイズを設定します。
 void setView(Component view)
          Viewport の 1 つの軽量な子 (view) を設定します。
 void setViewPosition(Point p)
          ビューポートの左上隅に表示されるビューの座標を設定します。
 void setViewSize(Dimension newSize)
          ビューポートの左上隅に表示されるビューの座標、およびビューのサイズを設定します。
 Dimension toViewCoordinates(Dimension size)
          ピクセル座標のサイズをビューの座標に変換します。
 Point toViewCoordinates(Point p)
          ピクセル座標のポイントをビューの座標に変換します。
 
クラス javax.swing.JComponent から継承したメソッド
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, revalidate, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update, updateUI
 
クラス java.awt.Container から継承したメソッド
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
クラス java.awt.Component から継承したメソッド
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

isViewSizeSet

protected boolean isViewSizeSet
ビューポートの寸法が決められている場合に true を返します。

lastPaintPosition

protected Point lastPaintPosition
最後にペイントされた viewPosition です。バッキングストアイメージがどのくらい有効かを知ることができます。

backingStore

protected boolean backingStore
このビューポートがその内容のオフスクリーンイメージを維持している場合に true を返します。維持されている場合、表示を構築するためにビューオブジェクトにアクセスするのではなく、高速な「bit-blit」処理を使用してスクロールを実行できます。

backingStoreImage

protected transient Image backingStoreImage
バッキングストアに使用されるビューイメージです。

scrollUnderway

protected boolean scrollUnderway
scrollUnderway フラグは、JList などのコンポーネントで使用されます。JList で下矢印キーが押され、選択されているセルがリストの最後のセルである場合、scrollpane はオートスクロールします。ここで、選択されていたセルは再ペイントの必要があるため、setViewPosition(Point) の明示的な呼び出しがある場合にだけ、ビューポートが最適化されたペイントをするためにフラグが必要になります。setBounds() がほかのルートを介して呼び出される場合、フラグはオフになり、ビューは普通に再ペイントされます。これとは別に、Viewport クラスからこれを削除し、setBackingStoreEnabled() を使用して JList にこの場合の制御をさせる方法もあります。
コンストラクタの詳細

JViewport

public JViewport()
JViewPort を作成します。
メソッドの詳細

addImpl

protected void addImpl(Component child,
                       Object constraints,
                       int index)
Viewport の 1 つの軽量な子を設定します。null も指定できます。ビューポート全体を占める子は 1 つだけなので、constraints および index の引数は無視されます。
パラメータ:
child - Component
constraints - Object
index - int
オーバーライド:
クラス Container 内の addImpl
関連項目:
setView(java.awt.Component)

remove

public void remove(Component child)
Viewport の 1 つの軽量な子を削除します。
オーバーライド:
クラス Container 内の remove
関連項目:
setView(java.awt.Component)

scrollRectToVisible

public void scrollRectToVisible(Rectangle contentRect)
ビュー内の Rectangle が可視になるようにビューをスクロールするためにオーバーライドされます。
パラメータ:
contentRect - 表示する Rectangle
オーバーライド:
クラス JComponent 内の scrollRectToVisible

setBorder

public final void setBorder(Border border)
ビューポートは、通常の親/子クリッピングでその子 (「ビュー」と呼ばれる) を「スクロール」します。通常、ビューはスクロールとは反対の方向に移動します。null 以外のボーダ (または 0 以外のインセット) は、サブクラス化を難しくするほどこのコンポーネントのジオメトリが複雑になるのを防ぐためにサポートされていません。ボーダ付きの JViewport を作成するには、ボーダを持つ JPanel にそれを追加します。
パラメータ:
border - 設定する Border
オーバーライド:
クラス JComponent 内の setBorder

getInsets

public final Insets getInsets()
JViewPort ではボーダがサポートされていないので、インセット (ボーダ) の寸法を (0,0,0,0) として返します。
戻り値:
新しい Insets(0, 0, 0, 0)
オーバーライド:
クラス JComponent 内の getInsets
関連項目:
setBorder(javax.swing.border.Border)

getInsets

public final Insets getInsets(Insets insets)
この JViewPort のインセット値を格納する Insets オブジェクトを返します。渡された Insets オブジェクトは再び初期化され、このオブジェクト内のすべての既存の値は上書きされます。
パラメータ:
insets - 再利用できる Insets オブジェクト
オーバーライド:
クラス JComponent 内の getInsets
関連項目:
getInsets()

isOptimizedDrawingEnabled

public boolean isOptimizedDrawingEnabled()
JViewport は (JComponent で) このメソッドのデフォルト実装をオーバーライドし、false を返します。その結果、描画装置は JViewport の子に直接メッセージを送るのではなく、Viewport の paint() の実装を呼び出します。
戻り値:
false
オーバーライド:
クラス JComponent 内の isOptimizedDrawingEnabled

paint

public void paint(Graphics g)
バックングストアが使用可能かどうかに応じて、バッキングストアを介してイメージをペイントするか、または現在露出している部分だけをペイントし、バッキングストアを使用して残りの部分を「blit」します。
「blit」は、PDP-10 BLT (BLock Transfer) 命令のことであり、ビットのブロックをコピーします。
パラメータ:
g - ペイントする Graphics コンテキスト
オーバーライド:
クラス JComponent 内の paint

reshape

public void reshape(int x,
                    int y,
                    int w,
                    int h)
このビューポートの境界を設定します。ビューポートの幅または高さが変更された場合は、StateChanged イベントをトリガーします。
パラメータ:
x - 起点の左端
y - 起点の上端
w - ピクセル単位の幅
h - ピクセル単位の高さ
オーバーライド:
クラス JComponent 内の reshape
関連項目:
JComponent.reshape(int, int, int, int)

isBackingStoreEnabled

public boolean isBackingStoreEnabled()
このビューポートがその内容のオフスクリーンイメージを維持している場合に true を返します。

setBackingStoreEnabled

public void setBackingStoreEnabled(boolean x)
true の場合、このビューポートはその内容のオフスクリーンイメージを維持します。このイメージは、viewPosition に対する一方向のわずかな変更に対するコストを削減するために使用されます。ビューポート全体を再ペイントするのではなく、Graphics.copyArea() を使用してスクロールを実行します。

getView

public Component getView()
Viewport の 1 つの子または null を返します。
関連項目:
setView(java.awt.Component)

setView

public void setView(Component view)
Viewport の 1 つの軽量な子 (view) を設定します。null も指定できます。
関連項目:
getView()

getViewSize

public Dimension getViewSize()
ビューのサイズが明示的に設定されていない場合は、適切なサイズを返します。設定されている場合は、ビューの現在のサイズを返します。ビューがない場合は、0,0 を返します。
戻り値:
ビューのサイズを指定する Dimension オブジェクト

setViewSize

public void setViewSize(Dimension newSize)
ビューポートの左上隅に表示されるビューの座標、およびビューのサイズを設定します。
パラメータ:
newSize - 新しいビューの座標のサイズおよび位置を指定する Dimension オブジェクト。ビューがない場合は null

getViewPosition

public Point getViewPosition()
ビューポートの左上隅に表示されるビューの座標を返します。ビューがない場合は 0,0 を返します。
戻り値:
左上の座標を示す Point オブジェクト

setViewPosition

public void setViewPosition(Point p)
ビューポートの左上隅に表示されるビューの座標を設定します。ビューがない場合は何も行いません。
パラメータ:
p - 左上の座標を示す Point オブジェクト

getViewRect

public Rectangle getViewRect()
起点が getViewPosition、サイズが getExtentSize() である矩形を返します。これは、ビューの座標で示されたビューの可視部分です。
戻り値:
ビューの座標を使用してビューの可視部分を示す Rectangle

computeBlit

protected boolean computeBlit(int dx,
                              int dy,
                              Point blitFrom,
                              Point blitTo,
                              Dimension blitSize,
                              Rectangle blitPaint)
blit のパラメータを計算します。バッキングストアイメージは現在左上隅に oldLoc を保持しており、これから newLoc にスクロールします。パラメータは、blit で要求される値を返すために変更されます。

getExtentSize

public Dimension getExtentSize()
ビューの可視部分のサイズをビューの座標で返します。
戻り値:
ビューのサイズを示す Dimension オブジェクト

toViewCoordinates

public Dimension toViewCoordinates(Dimension size)
ピクセル座標のサイズをビューの座標に変換します。「論理座標」をサポートするビューポートのサブクラスは、このメソッドをオーバーライドします。
パラメータ:
size - ピクセル座標を使用する Dimension オブジェクト
戻り値:
ビューの座標に変換された Dimension オブジェクト

toViewCoordinates

public Point toViewCoordinates(Point p)
ピクセル座標のポイントをビューの座標に変換します。「論理座標」をサポートするビューポートのサブクラスは、このメソッドをオーバーライドします。
パラメータ:
p - ピクセル座標を使用する Point オブジェクト
戻り値:
ビューの座標に変換された Point オブジェクト

setExtentSize

public void setExtentSize(Dimension newExtent)
ビューの座標を使用してビューの可視部分のサイズを設定します。
パラメータ:
newExtent - ビューのサイズを指定する Dimension オブジェクト

createViewListener

protected JViewport.ViewListener createViewListener()
ビューのリスナーを作成します。
戻り値:
ViewListener

createLayoutManager

protected LayoutManager createLayoutManager()
このメソッドをオーバーライドすると、コンストラクタで別のレイアウトマネージャ (または null) をインストールできます。新しい JViewportLayout オブジェクトを返します。
戻り値:
LayoutManager

addChangeListener

public void addChangeListener(ChangeListener l)
ビューのサイズ、位置、またはビューポートの長さのサイズが変更されるたびに通知される ChangeListener をリストに追加します。
パラメータ:
l - 追加する ChangeListener
関連項目:
removeChangeListener(javax.swing.event.ChangeListener), setViewPosition(java.awt.Point), setViewSize(java.awt.Dimension), setExtentSize(java.awt.Dimension)

removeChangeListener

public void removeChangeListener(ChangeListener l)
ビューのサイズ、位置、またはビューポートの長さのサイズが変更されるたびに通知される ChangeListener をリストから削除します。
パラメータ:
l - 削除する ChangeListener
関連項目:
addChangeListener(javax.swing.event.ChangeListener)

fireStateChanged

protected void fireStateChanged()

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int w,
                    int h)
RepaintManager によって paint が 1 回だけ実行されるように、常に親の座標系で再ペイントします。
パラメータ:
tm - 更新までの最大時間 (ミリ秒)
x - x 座標 (左からのピクセル数)
y - y 座標 (上からのピクセル数)
w - 幅
h - 高さ
オーバーライド:
クラス JComponent 内の repaint
関連項目:
Component.update(java.awt.Graphics)

paramString

protected String paramString()
この JViewport の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。

JFC コンポーネントの新しい側面についての情報を返すには、paramString() をオーバーライドします。

戻り値:
この JViewport の文字列表現
オーバーライド:
クラス JComponent 内の paramString

getAccessibleContext

public AccessibleContext getAccessibleContext()
この JComponent に関連付けられている AccessibleContext を取得します。
定義:
インタフェース Accessible 内の getAccessibleContext
戻り値:
この JComponent の AccessibleContext
オーバーライド:
クラス JComponent 内の getAccessibleContext

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.