java代码如何绘制一个圆形进度条呢?
下文笔者讲述java代码绘制圆形进度条的方法及示例分享,如下所示
Java代码绘制圆形进度条的实现思路 1.定义一个Graphics2D对象 2.借助对象中的方法进行圆形进度条绘制 CircularProgressBar类继承自JPanel 并重写paintComponent方法来绘制圆形进度条例:Java绘制圆形进度条
import javax.swing.*; import java.awt.*; import java.awt.geom.Arc2D; public class CircularProgressBar extends JPanel { private int progress; public CircularProgressBar() { progress = 0; } public void setProgress(int progress) { this.progress = progress; repaint(); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; // 计算进度条的角度范围 int angle = (int) (360 * (progress / 100.0)); // 设置绘制的颜色 g2d.setColor(Color.BLUE); // 绘制圆形进度条 g2d.fill(new Arc2D.Double(10, 10, getWidth() - 20, getHeight() - 20, 90, -angle, Arc2D.PIE)); } public static void main(String[] args) { JFrame frame = new JFrame("Circular Progress Bar"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(420,420); CircularProgressBar progressBar = new CircularProgressBar(); progressBar.setProgress(50); frame.add(progressBar); frame.setVisible(true); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。