2010-05-22 52 views
1

我有一个调用一个主要的JFrame类(A)和类调用另一个类(B)
在B组,我需要一个refrence主JFrame的
如何查找?的Java:查找来电类

感谢

+2

您需要将此引用从JFrame传递到B .. – halfdan 2010-05-22 09:47:52

+0

非常感谢 – RYN 2010-05-22 11:14:48

回答

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; 
. 
. 
. 
1

您可以使用Inversion of Control(IoC)设计模式来避免耦合您的类。 IoC的具体实现是Dependency Injection。如果您使用的是Java,则可以使用Spring,因此您不必担心依赖注入的实现。

一般而言,有一个容器负责处理引用。在你的情况下,你可以指示容器将主框架注入到B类,这样框架就可以从B类访问。