クラス AnimationFrame

java.lang.Object
  上位を拡張 java.awt.Component
      上位を拡張 java.awt.Container
          上位を拡張 java.awt.Window
              上位を拡張 java.awt.Frame
                  上位を拡張 javax.swing.JFrame
                      上位を拡張 AnimationFrame
すべての実装されたインタフェース:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class AnimationFrame
extends javax.swing.JFrame

AnimationFrameはアニメーション描画機能を実装したウィンドウフレームです。 内部ではイメージバッファを使用しており,繰り返し文を使った連続描画によるアニメーションプログラム作成を想定したコードになっています。

AnimationFrameを使って作成したウィンドウフレームには,再生ボタン[>]とコマ送りボタン[|>]が上部に表示されます。 再生ボタンを押すとプログラム処理を連続実行します。続けて一時停止ボタン[||]をクリックすると直後のprintFrame()メソッド呼び出し部分でプログラムを停止します。 また,コマ送りボタンは次のprintFrame()メソッド呼び出し部分までプログラム処理を実行します。

AnimationFrameを使って作成したウィンドウフレームは,描画崩れを防ぐためにアプリケーションユーザーによるウィンドウサイズの変更はできないようになっています。 プログラマーがsetSize(int width, int height)メソッドを記述して描画領域のサイズを設定し、それに対応したサイズのウィンドウを作成することは可能です。

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

入れ子のクラスの概要
 
クラス javax.swing.JFrame から継承された入れ子のクラス/インタフェース
javax.swing.JFrame.AccessibleJFrame
 
クラス java.awt.Frame から継承された入れ子のクラス/インタフェース
java.awt.Frame.AccessibleAWTFrame
 
クラス java.awt.Window から継承された入れ子のクラス/インタフェース
java.awt.Window.AccessibleAWTWindow
 
クラス java.awt.Container から継承された入れ子のクラス/インタフェース
java.awt.Container.AccessibleAWTContainer
 
クラス java.awt.Component から継承された入れ子のクラス/インタフェース
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
フィールドの概要
 
クラス javax.swing.JFrame から継承されたフィールド
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
クラス java.awt.Frame から継承されたフィールド
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
クラス java.awt.Component から継承されたフィールド
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
インタフェース javax.swing.WindowConstants から継承されたフィールド
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
インタフェース java.awt.image.ImageObserver から継承されたフィールド
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
コンストラクタの概要
AnimationFrame()
          アニメーション用のコントロールボタンと,幅500ピクセル,高さ500ピクセルの描画領域を持つウィンドウフレームを生成します。
 
メソッドの概要
 void drawCircle(int x, int y, int r)
          指定座標を中心とする塗りつぶされた円を描画します。
 void drawCircle(int x, int y, int r, boolean fill)
          指定座標を中心とする円を描画します。
 void drawImage(java.lang.String name, int x, int y, int m)
          指定座標を中心とする画像を描画します。
 void drawLine(int x1, int y1, int x2, int y2)
          始点(x1,y1)から終点(x2,y2)まで直線を引きます。
 void drawRect(int x, int y, int width, int height)
          指定された塗りつぶされた長方形を描きます。
 void drawRect(int x, int y, int width, int height, boolean fill)
          指定された長方形を描きます。
 void drawSquare(int x, int y, int s)
          指定座標を中心とする塗りつぶされた正方形を描画します。
 void drawString(java.lang.String str, int x, int y, float s)
          指定座標を開始点とした文字列を描画します。
 void paintFrame()
          それまで記述した描画のプログラムをウィンドウフレームに反映させます。
 void setColor(java.awt.Color c)
          描画用のペンの色を設定します。
 void setImage(java.lang.String name)
          表示する画像を登録します。
 void setSize(int width, int height)
          描画領域のサイズを幅widthピクセル,高さheightピクセルに変更します。
 void sleep(int time)
          プログラムを指定時間だけ停止させます。
 
クラス javax.swing.JFrame から継承されたメソッド
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
クラス java.awt.Frame から継承されたメソッド
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
クラス java.awt.Window から継承されたメソッド
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setVisible, show, toBack, toFront
 
クラス java.awt.Container から継承されたメソッド
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
クラス java.awt.Component から継承されたメソッド
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース java.awt.MenuContainer から継承されたメソッド
getFont, postEvent
 

コンストラクタの詳細

AnimationFrame

public AnimationFrame()
アニメーション用のコントロールボタンと,幅500ピクセル,高さ500ピクセルの描画領域を持つウィンドウフレームを生成します。 フレームの可視化も自動で行います。

メソッドの詳細

setColor

public void setColor(java.awt.Color c)
描画用のペンの色を設定します。描画系メソッドを呼び出す前にペンの色を設定しておくと,その色で描画が行われます。

パラメータ:
c - Colorクラスのオブジェクト

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
始点(x1,y1)から終点(x2,y2)まで直線を引きます。

パラメータ:
x1 - 始点のx座標
y1 - 始点のy座標
x2 - 終点のx座標
y2 - 終点のy座標

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
指定された塗りつぶされた長方形を描きます。

パラメータ:
x - 左上の頂点のx座標
y - 左上の頂点のy座標
width - 長方形の幅
height - 長方形の高さ

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height,
                     boolean fill)
指定された長方形を描きます。

パラメータ:
x - 左上の頂点のx座標
y - 左上の頂点のy座標
width - 長方形の幅
height - 長方形の高さ
fill - 長方形を塗りつぶすならtrue,枠だけならfalse

drawCircle

public void drawCircle(int x,
                       int y,
                       int r)
指定座標を中心とする塗りつぶされた円を描画します。

パラメータ:
x - 中心点のx座標
y - 中心点のy座標
r - 円の直径

drawCircle

public void drawCircle(int x,
                       int y,
                       int r,
                       boolean fill)
指定座標を中心とする円を描画します。

パラメータ:
x - 中心点のx座標
y - 中心点のy座標
r - 円の直径
fill - 円を塗りつぶすならtrue,枠だけならfalse

drawSquare

public void drawSquare(int x,
                       int y,
                       int s)
指定座標を中心とする塗りつぶされた正方形を描画します。

パラメータ:
x - 中心点のx座標
y - 中心点のy座標
s - 正方形の1辺の長さ

drawString

public void drawString(java.lang.String str,
                       int x,
                       int y,
                       float s)
指定座標を開始点とした文字列を描画します。開始点はベースライン(文字の下側)が基準となっています。

パラメータ:
str - 表示する文字列
x - 描画開始点のx座標
y - 描画開始点のy座標
s - 文字のサイズ

drawImage

public void drawImage(java.lang.String name,
                      int x,
                      int y,
                      int m)
指定座標を中心とする画像を描画します。このメソッドを呼び出す前にsetImage()メソッドで画像を登録しておく必要があります。

パラメータ:
name - 登録済みの画像ファイル名(png, jpg, gif形式)
x - 中心点のx座標
y - 中心点のy座標
m - 倍率(%)

setImage

public void setImage(java.lang.String name)
表示する画像を登録します。画像ファイルはクラスファイルと同じフォルダに入れておいておきます。

パラメータ:
name - 画像ファイル名(png, jpg, gif形式)

sleep

public void sleep(int time)
プログラムを指定時間だけ停止させます。アニメーション表示をゆっくりにするために描画と描画の間に呼び出します。 パラメータのtimeはミリ秒単位で指定しますが,実時間を保証するものではありません。時計プログラムのように,正確な時間計測が必要な場合は別の方法を使うようにしてください。

パラメータ:
time - 停止時間(ミリ秒)

setSize

public void setSize(int width,
                    int height)
描画領域のサイズを幅widthピクセル,高さheightピクセルに変更します。

オーバーライド:
クラス java.awt.Window 内の setSize
パラメータ:
width - 描画領域の幅
height - 描画領域の高さ

paintFrame

public void paintFrame()
それまで記述した描画のプログラムをウィンドウフレームに反映させます。 同時に,再生状態以外のときにはこのメソッドの呼び出しでプログラムを停止させ,ソフト利用者の「再生ボタンクリック」または「コマ送りボタンクリック」操作を待ちます。