我做了一個黑傑克版本使用GUI對象添加到從ActionListener的主框架。我的問題是,大部分的實現都在創建窗口的同一個類中。類GameWindow都啓動JFrame,添加可視對象,如卡圖標,文本存儲到JLabel,然後將它們添加到不同的JPanel。黑傑克與GUI,另一類
這很好,但GameWindow(它實現了ActionListener)還向ActionListener添加了按鈕(這是簡單的JButtons未創建的類),並實現了ActionPerformed。
我想爲每個按鈕創建一個類,如「Class Deal implements ActionListener」,然後讓該類處理ActionPerformed(ActionEvent e)。問題是如何從這個其他類中添加對象到GameWindow? 我該如何將甲板,玩家(分數和卡牌,存儲在ArrayList中)和銀行(分數和卡牌)對象發送給相應類中的ActionPerformed(交易,保持和命中)?
我不想發佈代碼導致它很多,因爲我嘗試了不同的解決方案,現在是一個混亂,但如果你想要我發佈代碼的任何部分或所有它只是告訴我。
編輯,以爲是小的文本;)
我用,現在,是 CardDeck的類,有一個ArrayList和方法類似的drawcard(),隨機播放()等 卡,有一個ImageIcon和一個保持其價值的int。 GameWindow擴展JFrame實現ActionListener,初始化JFrame,並處理與JButtons Deal,Hit和Stay相關的ActionPerformed(這是我想改變的)。 玩家,持有在ArrayList中繪製的玩家卡牌,並將得分作爲int 銀行,與玩家相同但是對於ai。 Main,執行GameWindow。
感謝您的回答,我會爲此努力。 – user2179550 2013-03-17 15:51:53