Java2D:增加线宽

Java2D:增加线宽,java,swing,graphics,java-2d,Java,Swing,Graphics,Java 2d,我想增加Line2D的宽度。我找不到任何方法来做那件事。是否需要为此制作一个小矩形?您应该使用setStroke设置Graphics2D对象的笔划 中的示例提供了一些代码示例 以下代码生成以下图像: import java.awt.*; import java.awt.geom.Line2D; import javax.swing.*; public class FrameTest { public static void main(String[] args) { J

我想增加Line2D的宽度。我找不到任何方法来做那件事。是否需要为此制作一个小矩形?

您应该使用
setStroke
设置
Graphics2D
对象的笔划

中的示例提供了一些代码示例

以下代码生成以下图像:

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

public class FrameTest {
    public static void main(String[] args) {
        JFrame jf = new JFrame("Demo");
        Container cp = jf.getContentPane();
        cp.add(new JComponent() {
            public void paintComponent(Graphics g) {
                Graphics2D g2 = (Graphics2D) g;
                g2.setStroke(new BasicStroke(10));
                g2.draw(new Line2D.Float(30, 20, 80, 90));
            }
        });
        jf.setSize(300, 200);
        jf.setVisible(true);
    }
}

(请注意,
setStroke
方法在
Graphics
对象中不可用。您必须将其强制转换为
Graphics2D
对象。)



这篇文章已被改写为一篇文章。

什么是
笔划

BasicStroke类定义了一组基本的渲染属性 图形基本体的轮廓,使用 Graphics2D对象,其笔划属性设置为 基本行程

请注意,
行程
设置:

Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(10));
正在设置线宽,因为
基本行程(浮动宽度)

使用指定的线宽以及封口和连接样式的默认值构造实心基本行程

而且,它还影响其他方法,如
Graphics2D.drawLine(intx1,inty1,intx2,inty2)
Graphics2D.drawRect(intx,inty,intwidth,intheight)

使用轮廓形状的Graphics2D界面的方法 笔划对象返回的包括draw和任何其他 根据该方法实现,例如drawLine、drawRect、, drawRoundRect、Draw椭圆形、drawArc、drawPolyline和drawPolygon


+1用于说明!此外,请考虑<代码> G2。SeTrEnDeldIngt(ReDeNelHuntsKig反走样,ReDeNeRunStudio.ValueAyAddiasason)