AWT Canvas 类
简介
Canvas 控件表示一个矩形区域,应用程序可以在其中绘制某些内容或接收用户创建的输入。
类声明
以下是 java.awt.Canvas 类的声明:
public class Canvas
extends Component
implements Accessible
类构造函数
| S.N. | 构造函数 &描述 |
|---|---|
| 1 | Canvas() 构造一个新的 Canvas。 |
| 2 | Canvas(GraphicsConfiguration config) 给定 GraphicsConfiguration 对象构造一个新的 Canvas。 |
类方法
| S.N. | 方法 &描述 |
|---|---|
| 1 | void addNotify() 创建画布的对等体。 |
| 2 | void createBufferStrategy(int numBuffers) 为此组件创建新的多缓冲策略。 |
| 3 | void createBufferStrategy(int numBuffers, BufferCapabilities caps) 使用所需的缓冲功能为此组件创建新的多缓冲策略。 |
| 4 | AccessibleContext getAccessibleContext() 获取关联的 AccessibleContext使用此 Canvas。 |
| 5 | BufferStrategy getBufferStrategy() 返回此组件使用的 BufferStrategy。 |
| 6 | void paint(Graphics g) 绘制此画布。 |
| 7 | void pdate(Graphics g) 更新此画布。 |
继承的方法
此类从以下类继承方法:
java.awt.Component
java.lang.Object
Canvas 示例
使用您选择的任何编辑器在 D:/ > AWT > com > tutorialspoint > gui > 中创建以下 Java 程序
AwtControlDemo.java
package com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
public class AwtControlDemo {
private Frame mainFrame;
private Label headerLabel;
private Label statusLabel;
private Panel controlPanel;
public AwtControlDemo(){
prepareGUI();
}
public static void main(String[] args){
AwtControlDemo awtControlDemo = new AwtControlDemo();
awtControlDemo.showCanvasDemo();
}
private void prepareGUI(){
mainFrame = new Frame("Java AWT Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new Label();
headerLabel.setAlignment(Label.CENTER);
statusLabel = new Label();
statusLabel.setAlignment(Label.CENTER);
statusLabel.setSize(350,100);
controlPanel = new Panel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showCanvasDemo(){
headerLabel.setText("Control in action: Canvas");
controlPanel.add(new MyCanvas());
mainFrame.setVisible(true);
}
class MyCanvas extends Canvas {
public MyCanvas () {
setBackground (Color.GRAY);
setSize(300, 300);
}
public void paint (Graphics g) {
Graphics2D g2;
g2 = (Graphics2D) g;
g2.drawString ("It is a custom canvas area", 70, 70);
}
}
}
使用命令提示符编译程序。转到 D:/ > AWT 并键入以下命令。
D:\AWT>javac com utorialspoint\gui\AwtControlDemo.java
如果没有错误,则表示编译成功。使用以下命令运行程序。
D:\AWT>java com.tutorialspoint.gui.AwtControlDemo
验证以下输出

awt_controls.html