awt中的画布类

Posted

技术标签:

【中文标题】awt中的画布类【英文标题】:Canvas class in awt 【发布时间】:2015-04-14 14:47:33 【问题描述】:

开发一个包含三个复选框和 30 x 30 像素画布的程序。三个复选框应标记为“红色”、“绿色”、“蓝色”。复选框的选择决定了画布的颜色。例如,如果用户同时选择“红色”和“蓝色”,则画布应为紫色。

【问题讨论】:

显示你到目前为止尝试了什么?? 我试过下面的代码是对还是错? 【参考方案1】:

导入 java.awt.*;

导入 java.applet.*;

导入 java.awt.event.*;

//

public 类 canvasdemo 扩展 Applet 实现 ItemListener

CanvasEx cx;
Checkbox c1,c2,c3;
int rc=0,gc=0,bc=0;
Color cl;

public canvasdemo()

    cx = new CanvasEx(); 
    cx.setSize(30,30);
    add(cx, "North");
    setSize(300, 200); 
    setVisible(true);


public void init()

    setLayout(null);

    c1=new Checkbox("red");
    c2=new Checkbox("green");
    c3=new Checkbox("blue");

    c1.setBounds(50,200,50,20);
    c2.setBounds(120,200,50,20);
    c3.setBounds(190,200,50,20);

    add(c1);
    add(c2);
    add(c3);

    c1.addItemListener(this);
    c2.addItemListener(this);
    c3.addItemListener(this);


public void itemStateChanged(ItemEvent  e)

    if(c1.getState()==true)
    
        rc=255;
    
    else
    
        rc=0;
    
    if(c2.getState()==true)
    
        bc=255;
    
    else
    
        bc=0;
    
    if(c3.getState()==true)
    
        gc=255;
    
    else
    
        gc=0;
    
    cl = new Color(rc,gc,bc);
    cx.setBackground(cl);

类 CanvasEx 扩展 Canvas

public void paint(Graphics g)


    new canvasdemo();


【讨论】:

我不知道,这应该是一个答案,还是你到目前为止尝试过的代码? 我试过了,它的工作原理,但我很困惑它是对还是错

以上是关于awt中的画布类的主要内容,如果未能解决你的问题,请参考以下文章

通过按钮将矩形绘制到画布上

在画布上用鼠标画线:Java awt

Java awt包中Graphics类中drawChars怎么用

渲染 Java AWT 画布以适应屏幕

Flash as3 将一个类中的方法调用到另一个放在舞台上的类。

为画布设置滚动窗格的问题