(三)编程题:TestChange.java
要求:(1)编写一个窗口,在窗口中有一个面板和三个按钮。
(2)窗口的中间为面板,南边为三个按钮。
(3)按钮的颜色分别为红、绿、蓝。按钮上标签的名字分别为“红色”,“绿色”,“蓝色”。
(4)单击相应的按钮,在画布上绘制相应颜色的填充圆。
圆的默认颜色是黑色
import java.awt.*;
import java.awt.event.*;
public class TestChange extends Frame {
Button b1,b2,b3;
Color c;
public void launchFrame() {
Panel p;
setSize(300,320);
setLocation(100,100);
setVisible(true);
b1 = new Button(" 红色 ");
b2 = new Button(" 绿色 ");
b3 = new Button(" 蓝色 ");
b1.setBackground(Color.RED);
b2.setBackground(Color.GREEN);
b3.setBackground(Color.BLUE);
c = Color.BLACK ;
p=new Panel();
add(p,BorderLayout.SOUTH);
p.add(b1);
p.add(b2);
p.add(b3);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
b1.addActionListener(new ButtonAct());
b2.addActionListener(new ButtonAct());
b3.addActionListener(new ButtonAct());
}
class ButtonAct implements ActionListener {
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
c=Color.RED;
}
else if(e.getSource()==b2)
{
c=Color.GREEN;
}
else if(e.getSource()==b3)
{
c=Color.BLUE;
}
repaint();
}
}
public void paint(Graphics g) {
g.setColor(c);
g.fillOval(50,50,200,200);
}
public static void main(String[] args) {
TestChange gf = new TestChange();
gf.launchFrame();
}
}