java awt canvas_java.awt 类 Canvas - Java 中文参考手册

Canvas 是 Java AWT 中的一个类,用于在屏幕上创建一个空白区域进行绘图和用户交互。开发者需要通过创建 Canvas 的子类并重写 paint 方法来实现自定义功能。此外,Canvas 支持多缓冲策略,可以提升渲染性能。
摘要由CSDN通过智能技术生成

java.lang.Object

c8e9f4e075d37a0af332e4af80182959.gifjava.awt.Component

c8e9f4e075d37a0af332e4af80182959.gifjava.awt.Canvas

所有已实现的接口:ImageObserver, MenuContainer, Serializable, javax.accessibility.Accessible

public class Canvasextends Componentimplements javax.accessibility.Accessible

Canvas 组件表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。

应用程序必须为 Canvas 类创建子类,以获得有用的功能(如创建自定义组件)。必须重写 paint 方法,以便在 canvas 上执行自定义图形。

从以下版本开始:

JDK1.0

另请参见:序列化表格

嵌套类摘要

protected class

Canvas.AccessibleAWTCanvas

此类实现对 Canvas 类的可访问性支持。

从类 java.awt.Component 继承的嵌套类/接口

Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy

字段摘要

从类 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

构造方法摘要

Canvas()

构造一个新的 Canvas。

Canvas(GraphicsConfigurationconfig)

构造一个给定了 GraphicsConfiguration 对象的 Canvas。

方法摘要

void

addNotify()

创建 canvas 的同位体。

void

createBufferStrategy(intnumBuffers)

创建一个新的策略,用于对此组件的多次缓冲。

void

createBufferStrategy(intnumBuffers,

BufferCapabilitiescaps)

创建一个新的策略,使用所需的缓冲区容量对此组件进行多次缓冲。

javax.accessibility.AccessibleContext

getAccessibleContext()

获得与此 Canvas 相关的 AccessibleContext。

BufferStrategy

getBufferStrategy()

void

paint(Graphicsg)

绘制这个 canvas。

void

update(Graphicsg)

更新此 canvas。

从类 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, 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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate

从类 java.lang.Object 继承的方法

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

构造方法详细信息

Canvas

public Canvas()

构造一个新的 Canvas。

Canvas

public Canvas(GraphicsConfigurationconfig)

构造一个给定了 GraphicsConfiguration 对象的 Canvas。

参数:config – 对 GraphicsConfiguration 对象的引用。另请参见:GraphicsConfiguration

方法详细信息

addNotify

public void addNotify()

创建 canvas 的同位体。此同位体允许您更改 canvas 的用户界面,而不更改其功能。

覆盖:类 Component 中的 addNotify

另请参见:Toolkit.createCanvas(java.awt.Canvas),

Component.getToolkit()

paint

public void paint(Graphicsg)

绘制这个 canvas。

为 Canvas 创建子类的大多数应用程序应该重写此方法,以便执行某个有用的操作(通常是 canvas 的自定义绘制操作)。默认操作是清理 canvas。重写此方法的应用程序不需要调用 super.paint(g)。

覆盖:类 Component 中的 paint

参数:g – 指定的 Graphics 上下文另请参见:update(Graphics),

Component.paint(Graphics)

update

public void update(Graphicsg)

更新此 canvas。

调用此方法以响应对 repaint 的调用。首先通过使用背景色填充 canvas 来清理它,然后通过调用此 canvas 的 paint 方法重绘它。注:重写此方法的应用程序应该调用 super.update(g),或者将上面描述的功能合并到其自身的代码中。

覆盖:类 Component 中的 update

参数:g – 指定的 Graphics 上下文另请参见:paint(Graphics),

Component.update(Graphics)

createBufferStrategy

public void createBufferStrategy(intnumBuffers)

创建一个新的策略,用于对此组件的多次缓冲。多次缓冲对于提高渲染性能很有用。此方法试图使用提供的缓冲区数创建最佳可用策略。它始终创建一个使用该数量缓冲区的 BufferStrategy。首先尝试页面翻转策略,然后尝试使用加速缓冲区的位图传输策略。最后,使用非加速的位图传输策略。

每次调用此方法时,都会丢弃此组件现有的缓冲区策略。

参数:numBuffers – 要创建的缓冲区数,包括前台缓冲区抛出:IllegalArgumentException – 如果 numBuffers 小于 1。

IllegalStateException – 如果组件不是可显示的从以下版本开始:

1.4

另请参见:Component.isDisplayable(),

getBufferStrategy()

createBufferStrategy

public void createBufferStrategy(intnumBuffers,

BufferCapabilitiescaps)

throws AWTException

创建一个新的策略,使用所需的缓冲区容量对此组件进行多次缓冲。例如,如果只需加速内存或页面翻转(由缓冲区容量指定),则这种策略很有用。

每次调用此方法时,都会丢弃此组件现有的缓冲区策略。

参数:numBuffers – 要创建的缓冲区数量caps – 创建缓冲区策略所要求的容量;不能为 null抛出:AWTException – 如果提供的容量不受支持或不能满足要求;例如,如果当前可用的加速内存不够,或者不可能进行指定的页面翻转时,可能出现这种情况。

IllegalArgumentException – 如果 numBuffers 小于 1,或者如果 caps 为 null从以下版本开始:

1.4

另请参见:getBufferStrategy()

getBufferStrategy

public BufferStrategy getBufferStrategy()

返回:此组件使用的缓冲区策略从以下版本开始:

1.4

另请参见:createBufferStrategy(int)

getAccessibleContext

public javax.accessibility.AccessibleContext getAccessibleContext()

获得与此 Canvas 相关的 AccessibleContext。对于 canvas 来说,AccessibleContext 采用 AccessibleAWTCanvas 的形式。如果必要,创建一个新的 AccessibleAWTCanvas 实例。

指定者:接口 javax.accessibility.Accessible 中的 getAccessibleContext覆盖:类 Component 中的 getAccessibleContext

返回:一个 AccessibleAWTCanvas,它充当此 Canvas 的 AccessibleContext

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值