-3

如果有人可以指导我如何获取 JFrame 类的内置方法 getContentPane() 的完整源代码(文档),那将很有帮助。

我想在我的代码中覆盖它。


编辑

好的,这就是场景,我有两个包,一个是 homepage1 类,另一个是 homepage2。我可以访问 homepage2 中的 getContentPane(),但是当我在 homepage1 中使用它时,IDE(netbeans) 会显示未知符号(尽管我使用了“import javax.swing.*”)。因此,如果我可以获得 getContentPane() 的代码,那么我想将它粘贴到我的类“homepage1”中,以便我可以访问它。

4

1 回答 1

2

您的问题是XY Problem的经典示例,这意味着您正在寻求“X”的解决方案,这是您尝试解决某事的特定(且不正确)方式,而您真正需要的是“Y”,您实际最重要问题的实际解决方案。

你在评论中说:

我可以访问 homepage2 中的 getContentPane(),但是当我在 homepage1 中使用它时,IDE(netbeans) 会显示未知符号(尽管我使用了“import javax.swing.*”)。

这意味着您没有调用getContentPane()具有该方法的对象,而是调用具有根窗格的对象。我猜您可能认为您在从 JFrame 派生的对象上调用它,但编译器告诉您您不是,该对象不是真正的 JFrame。

解决方案不是挖掘 Swing JFrame 的源代码(或者更好的是 JRootPane,它是 JFrame 方法将调用的),而是在正确的对象、JFrame 派生对象或其他使用对象的 JRootPane 上调用该方法例如 JDialog 或 JApplet,或者通过研究感兴趣的包中可用的类和方法来找到另一种获取感兴趣对象的方法。抱歉,您通过查看或使用 JFrame 源来解决此问题的想法getContentPane()只不过是徒劳无功,我强烈建议您放弃它并寻找其他更有成效的攻击途径。

如果您需要更具体的帮助,您需要告诉我们更多关于包含您感兴趣的对象的类的信息,包括向我们展示代码。

于 2013-09-04T03:28:49.180 回答