我做了一个黑杰克版本使用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