gpt4 book ai didi

java - 2D 数组和 JButton

转载 作者:行者123 更新时间:2023-12-02 07:30:03 24 4
gpt4 key购买 nike

现在我需要编写一个 8 谜题游戏,看起来[像这样]

enter image description here

老师要求我们写三个不同的类,分别是Piece.java、EightPuzzle.java、EightPuzzlePanel.java。如你看到的,Piece.java 代表这八 block 拼图中的每个单独的 block ,例如“1”、“2”;EvenPuzzle.java 代表容纳这 9 个棋子/按钮的游戏板。EvenPuzzlePanel.java 是 GUI 的东西。

所以我的问题是,既然我们需要创建一个 Piece[][]piece = new Piece[][],一个 2D 数组,并且我们还需要将这些棋子排列在棋盘上。我想我可以创建 9 个 JButton,并将 2D 数组与 9 个 JButton 链接起来(或者有更好的方法来对 2D 数组进行排序),但我不知道该怎么做。

按钮还需要由鼠标和键盘控制。这对我来说是另一个挑战。

最佳答案

由于这是家庭作业,我不会讲太多细节,但这就是我的做法:

  1. Make Piece 扩展了 JButton 类。 Piece 对象获取要显示的文本以及您希望其呈现的图像的位置。您应该能够在网上找到大量有关如何将图像添加到 JButton 的示例。
  2. 使 EightPuzzle 扩展 JPanel 类并使用 Grid Layout碎片整齐地呈现在网格中。该类采用 Piece 对象的 2D 数组,然后对其进行渲染。
  3. 使 EightPuzzlePanel 也扩展 JPanel 类。该类采用另一个 JPanel (EightPuzzle) 并附加您可能需要的任何其他按钮。
  4. 最后创建一个扩展 JFrame 的 Main 类,然后将 EightPuzzlePanel 附加到它(该类又应包含带有其他按钮的其他面板)。<

关于java - 2D 数组和 JButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com