2012-01-05 82 views
0

我試過搜索它,但我不知道使用什麼術語,所以沒有結果。 基本上,我有一個JFrame在一個類中創建,它不會繼承任何東西,但是有2個類可以輸入這個,Farmer.java和SheepHandlerThread.java我想使用在初始類中創建的JFrame並添加一些額外的形狀,對象,因爲SheepHandlerThread處理Sheep放牧和行爲,Farmer.java控制一個正方形到達您的鼠標點擊位置。使用其他類JFrame

道歉,如果我問一個已經回答的問題,但我已經開始繞圈子和混淆自己,所以我希望能在這裏得到一些幫助。詢問你是否需要任何澄清。

感謝, 瑞安

+0

什麼意思是「沒有繼承」是你沒有創建自己的自定義JFrame? – 2012-01-05 12:04:07

回答

2

我同意上面的答案。除此之外,我會舉例說明,這將有助於你。

class FrameDemo{ 

    private JFrame frame; 
    private SheepHandlerThread sheepHandlerThread; 
    private Farmer farmer; 

    public FrameDemo(){ 
     initComponents(); 
    } 

    private void initComponents() { 
     frame = new JFrame(...); 
     /* Pass frame reference to the 
      Farmer and SheepHandlerThread 
      class  
      */ 
     farmer = new Farmer(frame); 
     sheepHandlerThread = new SheepHandlerThread(frame); 
    } 

} 
+0

啊!我懂了!這使它更容易一些!我剛把自己弄得這麼混亂,我更加困惑,謝謝你的幫助! 編輯:不能upVote你的答案,對不起:( – RyanSoper 2012-01-05 13:35:12

1

兩個對象需要有某種方式到JFrame 對象參考。在構建這兩個對象時,將它們傳遞給JFrame對象。然後,構造函數可以將該幀存儲在實例字段中,並隨時隨地執行他們想做的任何操作。

或者這些對象不應該關注用戶界面,只應該爲框架提供服務。在這種情況下,讓框架調用這些服務並使用這些服務的結果自行更新。