2015-02-13 4 views
-2

Разработка программы, которая содержит три флажка и 30 х 30 пикселей. Три флажка должны быть помечены как «Красный», «Зеленый», «Синий». Выбор флажков определяет цвет холста. Например, если пользователь выбирает как «Красный», так и «Синий», холст должен быть фиолетовым.Canvas class in awt

+0

показать, что вы пробовали до сих пор ?? –

+0

Я пробовал следующий код, это правильно или неправильно? –

ответ

0

импорт java.awt. *;

импорт java.applet. *;

импорт java.awt.event. *;

//

общественного класса canvasdemo расширяет Апплет реализует 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 простирается Холст

{

public void paint(Graphics g) 
{ 

    new canvasdemo(); 

} 

+0

Я не могу сказать, это должен быть ответ или код, который вы пробовали до сих пор? – LittleBobbyTables

+0

Я попробовал его и его работу, но я смущен, что это правильно или неправильно –