gpt4 book ai didi

java - 使用隐式 Graphics 参数调用 Java 方法,例如 repaint() 或访问 JPanel 中的 Graphics

转载 作者:行者123 更新时间:2023-12-01 16:12:18 25 4
gpt4 key购买 nike

例如,当您调用 repaint() 时,会调用 repaintComponent(Graphics),然后您可以从类外部调用它,而无需参数 Graphics。

我想要一个函数,它需要更多我正在使用的参数,但我仍然希望能够用它来绘图,所以我需要能够进行这样的调用(例如 repaint() 调用repaintComponent(Graphics)) 或访问 Graphics 来调用该函数,假设无论如何都会通过显式调用 repaintComponent() 来重新绘制它。

我一直在考虑将数据放入对象中然后进行绘制,但我不确定它是否有效,而且我认为这会非常复杂。

最佳答案

除了且仅在处理 O/S 绘制事件时,您不能对 GUI 进行任何组件绘制,这会在事件分派(dispatch)线程上触发 Java 绘制事件。 Repaint 不会调用 Paint() 或其任何派生类 - 它请求重新绘制组件的某个区域,并触发绘制事件。

您需要以某种方式设置需要绘制到组件中的信息,无论是通过设置属性(例如 Swing)还是子类化并将 setter 添加到子类组件中。将数据放入对象后,将该对象设置到组件中应该很简单。

您还可以使用 Paint(Graphics) 方法创建一个单独的对象,将该对象与您的组件相关联,并从对象 Paint 中调用它的绘画方法 - 我过去已经这样做了,以便分离绘画关注大量对象。

关于java - 使用隐式 Graphics 参数调用 Java 方法,例如 repaint() 或访问 JPanel 中的 Graphics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/645137/

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