- java.lang.Object
-
- java.awt.Component
-
- java.awt.Canvas
-
- 实现的所有接口
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class Canvas extends Component implements Accessible
Canvas
组件表示应用程序可以在其上绘制的屏幕的空白矩形区域,或者应用程序可以从中捕获来自用户的输入事件。应用程序必须子类化
Canvas
类才能获得有用的功能,例如创建自定义组件。 必须重写paint
方法才能在画布上执行自定义图形。- 从以下版本开始:
- 1.0
- 另请参见:
- Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
Canvas.AccessibleAWTCanvas
此类实现Canvas
类的可访问性支持。
-
字段汇总
-
声明的属性在类 java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 构造器 描述 Canvas()
构造一个新的Canvas。Canvas(GraphicsConfiguration config)
给定GraphicsConfiguration对象构造一个新的Canvas。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
addNotify()
创建画布的同行。void
createBufferStrategy(int numBuffers)
为此组件创建多缓冲的新策略。void
createBufferStrategy(int numBuffers, BufferCapabilities caps)
使用所需的缓冲区功能为此组件创建多缓冲的新策略。AccessibleContext
getAccessibleContext()
获取与此Canvas关联的AccessibleContext。BufferStrategy
getBufferStrategy()
返回此组件使用的BufferStrategy
。void
paint(Graphics g)
绘制这个画布。void
update(Graphics g)
更新此画布。-
声明方法的类 java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
-
-
-
-
构造方法详细信息
-
Canvas
public Canvas()
构造一个新的Canvas。
-
Canvas
public Canvas(GraphicsConfiguration config)
给定GraphicsConfiguration对象构造一个新的Canvas。 如果传递null,则将使用默认的GraphicsConfiguration。- 参数
-
config
- 对GraphicsConfiguration对象的引用或null - 另请参见:
-
GraphicsConfiguration
,Component.getGraphicsConfiguration()
-
-
方法详细信息
-
addNotify
public void addNotify()
创建画布的同行。 此对等体允许您更改画布的用户界面而不更改其功能。- 重写:
-
addNotify
在Component
类 - 另请参见:
-
Component.getToolkit()
-
paint
public void paint(Graphics g)
绘制这个画布。子类
Canvas
大多数应用程序应该重写此方法,以便执行一些有用的操作(通常是画布的自定义绘制)。 默认操作只是清除画布。 覆盖此方法的应用程序不需要调用super.paint(g)。- 重写:
-
paint
在类Component
- 参数
-
g
- 指定的Graphics上下文 - 另请参见:
-
update(Graphics)
,Component.paint(Graphics)
-
update
public void update(Graphics g)
更新此画布。调用此方法以响应对
repaint
的调用。 首先使用背景颜色填充画布,然后通过调用此画布的paint
方法完全重paint
布。 注意:覆盖此方法的应用程序应调用super.update(g)或将上述功能合并到自己的代码中。- 重写:
-
update
在类Component
- 参数
-
g
- 指定的Graphics上下文 - 另请参见:
-
paint(Graphics)
,Component.update(Graphics)
-
createBufferStrategy
public void createBufferStrategy(int numBuffers)
为此组件创建多缓冲的新策略。 多缓冲对于渲染性能很有用。 此方法尝试使用提供的缓冲区数创建可用的最佳策略。 它将始终创建具有该数量的缓冲区的BufferStrategy
。 首先尝试翻页策略,然后尝试使用加速缓冲区的blitting策略。 最后,使用了未加速的blitting策略。每次调用此方法时,都会丢弃此组件的现有缓冲区策略。
- 参数
-
numBuffers
- 要创建的缓冲区数,包括前端缓冲区 - 异常
-
IllegalArgumentException
- 如果numBuffers小于1。 -
IllegalStateException
- 如果组件不可显示 - 从以下版本开始:
- 1.4
- 另请参见:
-
Component.isDisplayable()
,getBufferStrategy()
-
createBufferStrategy
public void createBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException
使用所需的缓冲区功能为此组件创建多缓冲的新策略。 例如,如果只需要加速内存或页面翻转(由缓冲区功能指定),这很有用。每次调用此方法时,都会丢弃此组件的现有缓冲区策略。
- 参数
-
numBuffers
- 要创建的缓冲区数 -
caps
- 创建缓冲区策略所需的功能; 不能是null
- 异常
-
AWTException
- 如果无法支持或满足所提供的功能; 例如,如果当前没有足够的加速内存,或者指定了页面翻转但不可能,则可能会发生这种情况。 -
IllegalArgumentException
- 如果numBuffers小于1,或者caps为null
- 从以下版本开始:
- 1.4
- 另请参见:
-
getBufferStrategy()
-
getBufferStrategy
public BufferStrategy getBufferStrategy()
返回此组件使用的BufferStrategy
。 如果尚未创建或已处置BufferStrategy
则此方法将返回null。- 结果
- 此组件使用的缓冲区策略
- 从以下版本开始:
- 1.4
- 另请参见:
-
createBufferStrategy(int)
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取与此Canvas关联的AccessibleContext。 对于画布,AccessibleContext采用AccessibleAWTCanvas的形式。 如有必要,将创建一个新的AccessibleAWTCanvas实例。- Specified by:
-
getAccessibleContext
在界面Accessible
- 重写:
-
getAccessibleContext
在类Component
- 结果
- 一个AccessibleAWTCanvas,用作此Canvas的AccessibleContext
- 从以下版本开始:
- 1.3
-
-