我正在尝试用Java编写纸牌游戏的代码。 我已经编写了所有必要的课程来运行游戏,我已经可以在控制台中玩游戏了。
现在我想在此周围创建一个GUI,以便更轻松地进行交互。为了给出一些上下文,这些是我的类:
Card
(包含排名/西装)CardList
(扩展ArrayList<Card>
)Deck
,Pile
,Hand
(扩展CardList
)Player
(包含Hand
,以及CardList
,表示玩家已玩过的牌)Game
(包含List<Player>
,Deck
,Pile
以及有关当前游戏位置的信息)现在我已经摆弄了一下,我已经在CardListPanel
扩展CardList
内部了JPanel
内部课程,反过来将填充多个实例CardPanel
的{{1}},也是Card
的内部类,也是JPanel
。{/ p>
对于CardPanel
,我写了paintComponent()
来绘制卡片(如果需要旋转r
度),并且在初始化CardListPanel
时,我会计算出所需的卡片的位置及其旋转,使它们以某种形式出现弧形,如下所示:
现在我想知道我上面描述的想法是不是很好的做法,为卡片游戏编写GUI,制作嵌套的JPanels,并将卡片作为CardList-panel的一部分进行绘制。或者,将所有卡片分别绘制到JFrame上会更好,以便能够更轻松地移动它们。或者,另一种可能性,我是否错过了JFrames / JPanels的整个概念(我是新手),我是否滥用它们,是否有一些既定的做法来制作这些类型的GUI?