在Java中,可以使用Swing庫(kù)中的JProgressBar類來(lái)實(shí)現(xiàn)自定義進(jìn)度條
import javax.swing.*;
import java.awt.*;
public class CustomProgressBar extends JProgressBar {
private String text;
public CustomProgressBar(int min, int max, String text) {
super(min, max);
this.text = text;
setStringPainted(true);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
FontMetrics fontMetrics = g2d.getFontMetrics();
int x = getWidth() - fontMetrics.stringWidth(text) - 10;
int y = getHeight() / 2 + fontMetrics.getAscent() / 2;
g2d.setColor(getForeground());
g2d.drawString(text, x, y);
}
}
在這個(gè)類中,我們重寫了paintComponent
方法來(lái)自定義進(jìn)度條的文本位置和樣式。
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("Custom ProgressBar");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 100);
CustomProgressBar progressBar = new CustomProgressBar(0, 100, "0%");
progressBar.setValue(25); // 設(shè)置進(jìn)度條的值
frame.add(progressBar, BorderLayout.CENTER);
frame.setVisible(true);
}
}
在這個(gè)例子中,我們創(chuàng)建了一個(gè)包含自定義進(jìn)度條的窗口,并設(shè)置了進(jìn)度條的值。你可以根據(jù)需要修改進(jìn)度條的樣式、顏色和文本。