クラス 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.Window.Type

    クラスから継承されたネストされたクラス/インタフェース 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, 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

    インタフェースから継承されたフィールド java.awt.image.ImageObserver

    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

    インタフェースから継承されたフィールド javax.swing.WindowConstants

    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ 説明
    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, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated

    クラスから継承されたメソッド java.awt.Window

    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setType, 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, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, 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ピクセルに変更します。
      オーバーライド:
      setSize クラス内 java.awt.Window
      パラメータ:
      width - 描画領域の幅
      height - 描画領域の高さ
    • paintFrame

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