myploygon.java

来自「java应用举例3」· Java 代码 · 共 111 行

JAVA
111
字号
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class MyPloygon extends Applet implements ItemListener , ActionListener{ 
    //声明组件
    Checkbox  colorBox1,colorBox2,colorBox3;
    CheckboxGroup colorBox; 
    Label   label;
    Button  large,small;
    //定义颜色标志位和圆形的半径
    int  color,length;
    public void init()    { 
        //初始化小应用程序
        color= 0;
        length=40;
        colorBox = new CheckboxGroup();
        colorBox1 = new Checkbox("蓝色", false,colorBox);
        colorBox2 = new Checkbox("红色",  false,colorBox);
        colorBox3 = new Checkbox("绿色",false,colorBox);
        large = new Button("变大");
        small = new Button("变小");
        label  = new Label("看一个实心圆的渐变",Label.CENTER);
        //设为空布局
        setLayout(null);
        //向容器中添加组件
        add(colorBox1);
        add(colorBox2);
        add(colorBox3);
        add(large);
        add(small);
        add(label);
        //设置各组件位置及大小
        colorBox1.setBounds(0,0,60,30);
        colorBox2.setBounds(60,0,60,30);
        colorBox3.setBounds(120,0,60,30);
        label.setBounds(0,30,180,30);
        large.setBounds(0,240,90,30);
        small.setBounds(90,240,90,30);
        //向按钮添加监视器
        large.addActionListener(this);
        small.addActionListener(this);
        //向单选按钮添加监视器
        colorBox1.addItemListener(this);
        colorBox2.addItemListener(this);
        colorBox3.addItemListener(this);
    }
    public void itemStateChanged(ItemEvent e){
        if(e.getItemSelectable()==colorBox1){
            //设置颜色标志位
            color=1;
            //重画小应用程序
            repaint();    
        } else if (e.getItemSelectable()==colorBox2){
            color=2;
            repaint();
        } else if (e.getItemSelectable()==colorBox3){
            color=3;
            repaint();
        }

    }
    public void actionPerformed(ActionEvent e2){
        if(e2.getSource()==large) {
            if(length>=60) {
                //当实心圆过大时,使变大按钮不能点击
                large.setEnabled(false);
            } else {
                //恢复按钮为可以点击
                large.setEnabled(true);
                small.setEnabled(true);
                //圆的半径加5
                length+=5;
                //重画小应用程序
                repaint();
            }
        } else if(e2.getSource()==small){
            if(length<=20) {
                //当实心圆过小时,使变小按钮不能点击
                small.setEnabled(false);
            } else {
                //恢复按钮为可以点击
                large.setEnabled(true);
                small.setEnabled(true);
                //圆的半径减5
                length-=5;
                //重画小应用程序
                repaint();
            }

        }
    }
    
    public void start(){
    }
    public void stop(){
    }
    public void paint(Graphics g){
        //设置画笔颜色
        if(color==1){
            g.setColor(Color.blue);
        } else if(color==2) {
            g.setColor(Color.red);
        } else if(color==3) {
            g.setColor(Color.green);
        }
        //画出实心圆
        g.fillOval(70,100,length,length);
    }
         
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?