java-扩展Graphics2D类而不实现所有方法

我有一个名为MyClass的类,并且我希望该类扩展Graphics2D(在java.awt中).但是,当我键入公共类MyClass扩展Graphics2D {….}时,我必须添加未实现的方法draw,drawImage,addRenderingHints等,因为Eclipse会显示此错误并且无法编译.

这就是我想到的问题:我只想使用draw,setBackground和Graphics2D的其他几种方法,我不希望其余的代码与其他未实现的方法(强制性的)一起使用.

有办法避免这种情况吗?因为我在编写代码时非常简洁明了,而且我不希望再使用100行甚至不使用的代码.

您有什么建议?

解决方法:

您可以使用它来扩展Graphics,并且每当需要Graphics2D时,只需进行转换即可.

图形g = this.create();
Graphics2D g2d =(Graphics2D)g;

但是,您需要在其中创建一个Graphics变量,因为您不能强制转换.

因此,对于“ setBackground”:

public void setBackground(Image img) {
    g2d.setBackground(img);
}

确实,尽管如此,无论您做什么,都会变得凌乱.我什至不确定您是否可以执行this.create()事情而不会发生不良情况,因此请记住这一点.

上一篇:内联接口实现-在声明时实现接口方法


下一篇:JAVA:与接口的实现相比,InvocationHandler的优点是什么?