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. 來電時查找電話
- 2. 查找來電的IMSI
- 3. SQL查詢來查找電臺
- 4. Java查找文件類型
- 5. Java MethodDeclaration ClassOrInterfaceDeclaration查找類名
- 6. 在Java中查找OWL類
- 7. 查找來電安卓手機信息
- 8. 在Android中查找未接來電數
- 9. 使用Java Reflections來查找Collection的元素類型?
- 10. 如何在java中查找一個來自Child項目的類?
- 11. 從java類中查找非java文件
- 12. 查找來自兒童活動的來電者活動
- 13. 查找電源
- 14. 來自父類的靜態查找器
- 15. Java(Android):查找未使用的類
- 16. 如何查找Java類所屬的Jar
- 17. Java:使用diagnostics.getDiagnostics()來查找錯誤
- 18. 在Java項目中查找主類
- 19. 密碼查找器(類似bruteforce)Java
- 20. 查找手機來電的位置的替代方法
- 21. 使用Java來查詢Active Directory查找可用的CIFS共享
- 22. 獲取Rhino JS來查看Java類
- 23. 在Java中調用方法的類的查找類型
- 24. 查找在Java
- 25. Java查找WINDOW
- 26. MS ACCESS SQL查詢來查找所有類型爲Datatime的列
- 27. 來電顯示檢查來電是否已結束致電
- 28. 使用電話號碼查找電話
- 29. Lucene java,使用跨度查詢來查找每頁點擊量
- 30. SQL查詢來查找列
您需要將此引用從JFrame傳遞到B .. – halfdan 2010-05-22 09:47:52
非常感謝 – RYN 2010-05-22 11:14:48