Emi*_*mir 5 java oop graphics implementation graphics2d
我有一个名为 MyClass 的类,我希望该类扩展 Graphics2D (在 java.awt 中)。然而,当我输入时, public class MyClass extends Graphics2D { .... }我必须添加未实现的方法 draw、drawImage、addRenderingHints 等,因为 Eclipse 显示此错误并且无法编译。
这就是我想到的问题:我只想使用draw、setBackground和 Graphics2D 的其他一些方法,我不希望其余代码带有其他强制的未实现的方法。
有办法避免这种情况吗?因为我在代码方面非常干净和简单,我不想要其他 100 行我什至不使用的代码。
您有什么建议?
您可以让它扩展 Graphics,并且每当您需要 Graphics2D 时,只需进行转换即可。
Graphics g = this.create();
Graphics2D g2d = (Graphics2D) g;
但是,您需要在其中创建一个 Graphics 变量,因为您无法强制转换this.
所以对于“setBackground”:
public void setBackground(Image img) {
g2d.setBackground(img);
}
Run Code Online (Sandbox Code Playgroud)
但实际上,无论你做什么,都会变得一团糟。我什至不确定你是否可以在不发生不好的事情的情况下执行 this.create() 事情,所以请记住这一点。
| 归档时间: |
|
| 查看次数: |
2618 次 |
| 最近记录: |