1
A
回答
3
您可以通过JFrame的一个参考类,像这样
public class SomeFrame extends JFrame {
.
.
.
ClassA classA = new ClassA(arg1, arg2..., this, ...);
.
.
.
在ClassA的:
public class ClassA {
private JFrame someFrame;
public ClassA(arg1, arg2... JFrame someFrame,...)
{
this.someFrame = someFrame;
.
.
.
ClassB classB = new ClassB(arg1, arg2, this.someFrame, ...);
.
.
.
在ClassB的:
public class ClassB {
private JFrame someFrame;
public ClassB(arg1, arg2, JFrame someFrame, ...) {
this.someFrame = someFrame;
.
.
.
2
传一个参考似乎像最好的方式。
另一种方法是查找当前线程的堆栈跟踪并从那里获取它。这是此问题的答案之一:Java logger that automatically determines caller's class name
1
您可以使用Inversion of Control(IoC)设计模式来避免耦合您的类。 IoC的具体实现是Dependency Injection。如果您使用的是Java,则可以使用Spring,因此您不必担心依赖注入的实现。
一般而言,有一个容器负责处理引用。在你的情况下,你可以指示容器将主框架注入到B类,这样框架就可以从B类访问。
相关问题
- 1. 查找来电的IMSI
- 2. Java MethodDeclaration ClassOrInterfaceDeclaration查找类名
- 3. 在Android中查找未接来电数
- 4. 如何在java中查找一个来自Child项目的类?
- 5. 来自父类的静态查找器
- 6. Java(Android):查找未使用的类
- 7. 密码查找器(类似bruteforce)Java
- 8. 在Java项目中查找主类
- 9. 获取Rhino JS来查看Java类
- 10. 在Java中调用方法的类的查找类型
- 11. Java查找WINDOW
- 12. 使用电话号码查找电话
- 13. Lucene java,使用跨度查询来查找每页点击量
- 14. SQL查询来查找列
- 15. ContactsContract查找电话号码
- 16. 查找电池,使用jQuery
- 17. 使用SafariWatir查找类型电子邮件的输入
- 18. 查找UnhandledException的来源
- 19. 查找类
- 20. 子类查找
- 21. 检查在iphone来电
- 22. 未找到Java类
- 23. 查找Java错误
- 24. 查找使用JAVA
- 25. 使用BigInteger并使用递归来查找电源B
- 26. 在Android中使用电话管理器来查找IMEI号码
- 27. 的Java找不到父类
- 28. 的Java找不到类
- 29. Howto:如何查找的Java
- 30. Java中的查找表?
您需要将此引用从JFrame传递到B .. – halfdan 2010-05-22 09:47:52
非常感谢 – RYN 2010-05-22 11:14:48