我想在GWT中使用AWT。据我所知,有一个库可用gwt-awt.jar
。
我已下载并尝试使用。但我面临一些问题。
问题是:
- 它抛出了这个例外:" das sind shapes"
- 找不到Area类的createTransformedArea()方法。
醇>
问题原因 - 1:
我知道从哪里抛出异常。现在,此异常从Area
类引出以下代码:
public Area(Shape s) {
if (s instanceof Area) {
curves = ((Area) s).curves;
} else {
System.err.println("das sind shapes");
throw new RuntimeException("das sind shapes");
// curves = pathToCurves(s.getPathIterator(null));
}
}
在上面的代码中,我们可以看到curves = pathToCurves(s.getPathIterator(null));
此代码已评论过。
我的问题是为什么评论?
问题原因 - 2:
在createTransformedArea()
类中找不到 Area
,因为此方法也有评论。
我是如何解决这两个问题的?
从Area
类中注释掉所有必要的代码。在此更改此jar文件工作正常,但我仍有一个问题。
问题是,当在SuperDevMode和ClasicDevMode中绘制形状时,发现了一些奇怪的问题:
在ClassicDevMode中,此形状绘制完美,但在SuperDevMode中绘制不正确。
当我跟踪问题时,我发现SuperDevMode中缺少一些可在ClassicDevMode中使用的点。
例如,请参阅以下日志:
在ClassicDevMode中:
Line From: (11.302, 30.539) to (11.302, 30.539)
Line from: (11.302, 30.539) to (11.302, 30.709)
Line from: (11.302, 30.709) to (11.592, 30.999)
Line from: (11.592, 30.999) to (11.762, 30.999)
在SuperDevMode中:
Line from: (11.302, 30.539) to (11.302, 30.539)
Line from: (11.302, 30.539) to (11.302, 30.709)
Line from: (11.302, 30.709) to (11.346, 30.709)
为了便于理解,我附上了图片:
有人可以帮我解决这个问题吗?
为什么在SuperDevMode中无法正确绘制图像?
为什么SuperDevMode中缺少某些点?