gpt4 book ai didi

java - 在 Java 中扩展 Graphics 类

转载 作者:行者123 更新时间:2023-11-30 07:58:55 25 4
gpt4 key购买 nike

我需要扩展 Graphics 类以便 @Override 一些方法,包括 drawRect(int,int,int,int)drawRoundRect(int,整数、整数、整数、整数、整数)。但是,我不知道该怎么做。这是我到目前为止所得到的:

  public class myGraphics extends Graphics {
@Override
public void drawRect(int x, int y, int width, int height) {
super.fillRect(x, y, width, height);
setColor(Color.WHITE);
super.fillRect(x, y, width-6, height-6);
}

@Override
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
super.fillRoundRect(x, y, width, height, arcWidth, arcHeight);
setColor(Color.WHITE);
super.fillRoundRect(x, y, width-6, height-6, arcWidth, arcHeight);
}
}

我在类声明行上收到一条错误消息:myGraphics 不是抽象的并且不会覆盖 java.awt.Graphics 中的抽象方法 dispose()我还在提到 super.fill..(..) 的每一行都收到错误消息:abstract method fill..(..) in java.awt.Graphics cannot be accessed直接。有人知道我能做什么吗?

最佳答案

这个问题:

I need to extend the Graphics class in order to @Override some methods including drawRect(int,int,int,int) and drawRoundRect(int,int,int,int,int,int).

...实际上可能是 XY Problem当最好的解决方案是使用完全不同的方法时,您会问如何解决特定的代码问题。最好告诉我们您正在尝试解决的总体问题,而不是您目前正在尝试解决的问题:

如果你想改变你自己的图形程序的绘图行为,有比尝试扩展 Graphics 更好的方法,如果你真的必须承担它,这是一项非常困难的任务。相反,考虑使用一个扩展 JPanel 的类,并为其提供自己的 drawRect 和 drawRoundRect 方法,同时向其添加 Graphics 或 Graphics2D 参数,并在这些方法中进行任何需要的更改。

关于java - 在 Java 中扩展 Graphics 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39943596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com