利用Graphics类做的一些习题(五)

效果

在这里插入图片描述

题目

**15.14(显示一个条形图)编写程序,使用条形图显示作业、平时测验、期中考试和期末考试占总成绩的百分比。假设作业占20%用红色显示,平时测验10%用蓝色显示,期中考试占30%用绿色显示,期末考试占40%用橙色显示。

代码

package Test;

import javax.swing.*;
import java.awt.*;

public class Exercise15_14 extends JFrame {
    public Exercise15_14(){
        add(new drawPercentage());

    }

    public static void main(String[] args) {
        Exercise15_14 frame=new Exercise15_14();
        frame.setTitle("Exercise16_9");
        frame.setSize(400,400);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
class drawPercentage extends JPanel{
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        //绘制一个圆形
        g.drawOval(100,100,200,200);
        //设置颜色
        g.setColor(Color.red);
        //选择20%作为作业
        g.fillArc(100,100,2*100,2*100,0,72);
        //绘制字符串
        g.drawString("平时作业-20%",310,180);
        //设置颜色
        g.setColor(Color.blue);
        //选择20%作为作业
        g.fillArc(100,100,2*100,2*100,72,36);
        //绘制字符串
        g.drawString("平时测验-10%",130,80);
        //设置颜色
        g.setColor(Color.green);
        //选择20%作为作业
        g.fillArc(100,100,2*100,2*100,108,108);
        //绘制字符串
        g.drawString("期中考试-30%",50,180);
        g.setColor(Color.orange);
        //选择20%作为作业
        g.fillArc(100,100,2*100,2*100,216,144);
        //绘制字符串
        g.drawString("期末考试-40%",270,300);


    }
}

思路解析

 g.fillArc(100,100,2*100,2*100,0,72);

意思是绘制一条填充颜色的弧线,从0°开始,向左边绘制72°。

g.fillArc(100,100,2*100,2*100,72,36);

意思是绘制一条填充颜色的弧线,从72°开始,向左边绘制36°。

以此类推

发布了100 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43576028/article/details/101899649