【发布时间】:2015-03-09 18:46:56
【问题描述】:
我的 JAVA 代码需要一点帮助。基本上我必须制作一个棋盘,所以它必须是网格布局(8 x 8)中的 JFrame、JPanel、64 个按钮,并将 16 个棋子图像放在按钮上。
现在这是我在一个文件中工作的问题,但为了使它更难,我必须在两个文件之间拆分代码。所以 GUI(JPanel、JFrame)必须在一个文件中,而按钮和图像的代码必须在另一个文件中。
这是我苦苦挣扎的地方,因为我在两个文件之间拆分了我的代码,我需要在 ChessBoard 文件中引用名为 ChessSquare 的类。但是在我的按钮代码中,它是一个 8 的 for 循环,另一个是 8 的 for 循环,然后它们被添加到 JFrame,但是由于 GUI 文件之外没有 JFrame 引用,所以这会阻止我的代码工作.
如何在第二个文件中为按钮引用名为“a”的 JFrame?
【问题讨论】:
-
使用构造函数、getter 或 setter 方法在类之间传递引用。您可能必须使用 this 关键字将“您自己”的实例传递给您创建的类。
-
用一个类中的 JButtons 和 JLabel 图像创建一个 JPanel。在 JFrame 类中实例化 JPanel。请参阅我的文章John Conway’s Game of Life in Java Swing,了解将视图划分为多个类的示例。
标签: java swing user-interface jframe chess