2010-05-22 31 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類訪問。