Java 如何画一条透明的线?

Java 如何画一条透明的线?,java,jpanel,line,transparency,graphics2d,Java,Jpanel,Line,Transparency,Graphics2d,我在JPanel via上画了一条蓝色实线 public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; super.paint(g2); if (path.size() >= 2) { BasisStroke stroke = new BasicStroke(Config.TILE_SIZE_IN_PIXEL / 3, BasicStroke.CAP_ROUND, BasicSt

我在JPanel via上画了一条蓝色实线

public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;

    super.paint(g2);

    if (path.size() >= 2) {
        BasisStroke stroke = new BasicStroke(Config.TILE_SIZE_IN_PIXEL / 3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL);
        g2.setStroke(stroke);
        g2.setPaint(Color.BLUE);
        g2.setPaintMode();

        for (int i = 0; i < path.size() - 1; i++) {
            g2.drawLine(path.get(i).x, path.get(i).y, path.get(i + 1).x, path.get(i + 1).y);
        }
    }
}
public void绘制(图形g){
图形2d g2=(图形2d)g;
超级油漆(g2);
如果(path.size()>=2){
基本行程笔划=新的基本行程(Config.TILE\u SIZE\u IN\u PIXEL/3,BasicStroke.CAP\u ROUND,BasicStroke.JOIN\u斜面);
g2.设定行程(行程);
g2.setPaint(颜色为蓝色);
g2.setPaintMode();
对于(int i=0;i

但我希望这条线是半透明的。如何实现这一点?

简单的答案是为图形上下文的颜色设置
alpha

float alpha = 0.5;
Color color = new Color(1, 0, 0, alpha); //Red 
g2.setPaint(color);
Alpha范围介于
0.0f
(不可见)到
1.0f
(不透明)之间


对于带有示例的长答案,.

对于完整的透明线,只需删除方法;-)。