为了账号安全,请及时绑定邮箱和手机立即绑定

我如何找到扩展类的方法在哪里

我如何找到扩展类的方法在哪里

心有法竹 2023-04-19 15:37:25
我仍在学习编码,但我找不到 paintComponent 方法的来源,想了解如何找到它的位置以供将来参考。import java.awt.*;import javax.swing.*;public class Peach extends JPanel{    public void paintComponent (Graphics g){    }}
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

paintComponent方法实际上来自抽象类JComponent,它由类扩展,而类又是您要扩展的JPanel类。

的实际实现paintComponent是:

/**

 * Calls the UI delegate's paint method, if the UI delegate

 * is non-<code>null</code>.  We pass the delegate a copy of the

 * <code>Graphics</code> object to protect the rest of the

 * paint code from irrevocable changes

 * (for example, <code>Graphics.translate</code>).

 * <p>

 * If you override this in a subclass you should not make permanent

 * changes to the passed in <code>Graphics</code>. For example, you

 * should not alter the clip <code>Rectangle</code> or modify the

 * transform. If you need to do these operations you may find it

 * easier to create a new <code>Graphics</code> from the passed in

 * <code>Graphics</code> and manipulate it. Further, if you do not

 * invoker super's implementation you must honor the opaque property,

 * that is

 * if this component is opaque, you must completely fill in the background

 * in a non-opaque color. If you do not honor the opaque property you

 * will likely see visual artifacts.

 * <p>

 * The passed in <code>Graphics</code> object might

 * have a transform other than the identify transform

 * installed on it.  In this case, you might get

 * unexpected results if you cumulatively apply

 * another transform.

 *

 * @param g the <code>Graphics</code> object to protect

 * @see #paint

 * @see ComponentUI

 */

protected void paintComponent(Graphics g) {

    if (ui != null) {

        Graphics scratchGraphics = (g == null) ? null : g.create();

        try {

            ui.update(scratchGraphics, this);

        }

        finally {

            scratchGraphics.dispose();

        }

    }

}


查看完整回答
反对 回复 2023-04-19
?
GCT1015

TA贡献1827条经验 获得超4个赞

通常这样的问题可以通过查看文档来回答。如果您在类中看不到某个方法,它很可能是从父级继承的。

您还可以从 IDE 内部打开类声明,您将能够找到该方法。


查看完整回答
反对 回复 2023-04-19
  • 2 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信