2016-04-26 13 views
0

私はプレー・チップで簡単なカードゲームを作っています。私は、JFrameを備えたLauncherクラスと、JFrameを持つ実際のGameクラスを持っています。 Launcherが実行され、再生ボタンがあります。だから毎ラウンド後、Game JFrameは、ランチャーに表示されたPlayerの残高にチップを追加して追加します。ランチャーにはゲームの後の残高ではなく、開始時の残高が表示されるという問題があります。JFrames間のコミュニケーション

私はLauncherにバランスをプレイヤーの新しい合計に更新するように指示することができるかどうか、game.dispose()のすべてのインスタンスについて疑問に思っていました。

+0

コードの一部を投稿できますか?何が間違っているのかを理解することは難しい:「バランス」を保存する場所、「ランチャー」などとはどういう意味ですか? – Matthieu

+0

1)すぐに役立つように、[MCVE]または[短く、自己完結型の正しい例] (http://www.sscce.org/)。 2)[複数のJFrames、良い/悪い習慣の使用?](http://stackoverflow.com/q/9554636/418556)を参照してください。 –

+0

複数のフレームを使用しないでください。 'CardLayout'を使用します。ダイアログを使用します。オブザーバーのパターンを使用する...ちょっとしたアイデア – MadProgrammer

答えて

-1

はい。

ゲームクラスにランチャープロパティを追加し、ランチャーのインスタンスに設定します。ゲームフレームを終了する前に、ランチャークラスのチップ番号を更新するメソッドを呼び出します。

public class Game { 
    .... 
    private Launcher l; 

    public Game(Launcher l) { 
     this.l = l; 
     ..... 
    } 

    public void dispose() { 
     l.setChips(chipTotal); 
     .... 
    } 
} 
関連する問題