Java 如何设置行程(基本行程)?

Java 如何设置行程(基本行程)?,java,swing,jpanel,paintcomponent,graphics2d,Java,Swing,Jpanel,Paintcomponent,Graphics2d,我遇到了以下问题:我想创建一个新的BasicStroke并将其设置在Graphics2D对象上。这是我为该问题编写的代码: BasicStroke stil = new BasicStroke(zo.getLinienbreite(), BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER); g2d.setStroke(stil); 但是,在构造函数BasicStroke(float,int,int)未定义的错误旁边(如果我

我遇到了以下问题:我想创建一个新的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)”。

其中一个取一个float,两个int。我猜
zo.getLinienbreite()
不是一个浮点,所以您必须显式地强制转换它

BasicStroke stil = new BasicStroke( (float)zo.getLinienbreite(), ...
或者将其更改为浮动在
zo
的类中。一旦完成,下一个错误将消失


干杯,谢谢你的帮助。原来我使用了
com.sun.prism.BasicStroke
而不是import
java.awt.BasicStroke

再次感谢

什么是
zo.getLinienbreite()
以及为什么要将其传递到BasicStroke构造函数中?2)在该类附近是否有自己的名为
BasicStroke
的类?zo.getLinienbreite()是对象zo的一个方法,它返回线条的宽度,因此BasicStroke知道线条的宽度。我在这门课附近没有其他的基本笔划,实际上这是我第一次也是唯一一次尝试笔划。对不起,但是zo.getLinienbreite()是一个浮点数。Eclipse还告诉我BasicStroke(float,int,int)是未定义的。这就是我想知道的原因。即使我使用另一个construcorg2d.setStroke(stil);不起作用。你在使用一些奇怪/旧的JDK版本吗?我们需要更多的信息来提供帮助。是的,Eclipse在默认情况下使用这个