我遇到以下问题:我想创建一个新的BasicStroke并将其设置在Graphics2D对象上。这是我为该问题编写的代码:

    BasicStroke stil = new BasicStroke(zo.getLinienbreite(),
        BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER);
    g2d.setStroke(stil);


但是,在错误旁边没有定义构造函数BasicStroke(float,int,int)(如果我没有阅读文档,实际上不是这样),它说:“ Graphics2D类型的setStroke(Stroke)方法不是适用于参数(BasicStroke)”。

最佳答案

BasicStroke constructors之一为浮点型,而两个为int。我猜zo.getLinienbreite()不是浮点数,所以您要么必须显式转换它

BasicStroke stil = new BasicStroke( (float)zo.getLinienbreite(), ...


或将其更改为浮动在zo的类中。完成后,下一个错误将消失。

干杯,

10-06 09:38