91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java圓形進度條怎么實現

小億
102
2023-04-24 17:53:00
欄目: 編程語言

以下是一個簡單的Java圓形進度條的實現代碼:

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.RenderingHints;

import javax.swing.JComponent;

import javax.swing.JFrame;

import javax.swing.SwingUtilities;


public class CircleProgressBar extends JComponent {

private int progress;


public CircleProgressBar() {

super();

setPreferredSize(new Dimension(100, 100));

progress = 0;

}


public void setProgress(int progress) {

this.progress = progress;

repaint();

}


@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2d = (Graphics2D) g;

g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

int width = getWidth();

int height = getHeight();

int diameter = Math.min(width, height);

int x = (width - diameter) / 2;

int y = (height - diameter) / 2;

g2d.setColor(Color.LIGHT_GRAY);

g2d.fillOval(x, y, diameter, diameter);

g2d.setColor(Color.BLUE);

g2d.fillArc(x, y, diameter, diameter, 90, -progress * 360 / 100);

}


public static void main(String[] args) {

SwingUtilities.invokeLater(() -> {

JFrame frame = new JFrame("Circle Progress Bar");

CircleProgressBar progressBar = new CircleProgressBar();

frame.getContentPane().add(progressBar);

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

Thread thread = new Thread(() -> {

for (int i = 0; i <= 100; i++) {

progressBar.setProgress(i);

try {

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

});

thread.start();

});

}

}

這個實現代碼使用了Java Swing的JComponent類,繼承它可以自定義一個組件。在這個組件上繪制一個圓形進度條,使用了Graphics2D類的fillOval和fillArc方法。在main方法中,我們創建了一個JFrame窗口,將自定義的組件添加到窗口中,并啟動了一個線程來模擬進度條的進度變化。

0
南投县| 新和县| 武定县| 西盟| 榆社县| 桐乡市| 额尔古纳市| 焦作市| 团风县| 克什克腾旗| 友谊县| 山丹县| 宁安市| 雅安市| 四子王旗| 谷城县| 含山县| 新龙县| 抚顺市| 金溪县| 肇州县| 海丰县| 大邑县| 沐川县| 枝江市| 漳州市| 珲春市| 西乡县| 海南省| 大新县| 太湖县| 沁源县| 秦皇岛市| 秦安县| 封丘县| 六安市| 手机| 五原县| 慈利县| 乌鲁木齐市| 雅安市|