Java 将变量位置(作为整数)从jframe(作为主类)传递到另一个类进行操作

Java 将变量位置(作为整数)从jframe(作为主类)传递到另一个类进行操作,java,Java,我有一位编程教授希望我们以一种特定的方式编写一个Tic-Tac-Toe游戏。他希望我们拥有“board”类,并在其中拥有特定的变异子来处理数据,并在该类中保留尽可能多的信息。具体来说,他希望我们有一些方法,其中唯一传递的变量是一个整数,该整数与变量的位置有关。例如: public char getMarkAt(int location) //would return the mark at the given location. 我是否能够在这个类中实例化我的jframe,并拥有另一个处理所有

我有一位编程教授希望我们以一种特定的方式编写一个Tic-Tac-Toe游戏。他希望我们拥有“board”类,并在其中拥有特定的变异子来处理数据,并在该类中保留尽可能多的信息。具体来说,他希望我们有一些方法,其中唯一传递的变量是一个整数,该整数与变量的位置有关。例如:

public char getMarkAt(int location) //would return the mark at the given location.
我是否能够在这个类中实例化我的jframe,并拥有另一个处理所有其他工作的类?例如:有一个jframe,它只是我的九个框和一个字符数组(为了简单起见,让我们说charArray),其中包含一个随机字符(我们暂时说0),然后通过创建类JFrame1(命名图片)的实例从类中获取和设置标记,方法如下

JFrame1 Picture = new JFrame1;    
Picture.charArray[location] = 'X';

还是我完全错了?在过去,我一直使用JFrames作为我的主类,他抛出了这些强制传递的变量(我相信)来阻止我们这样做。抱歉这么疯狂

处理这种情况的最佳方法是使用“Board”类来处理数据,并拥有一种“虚拟”游戏板。然后专门使用JFrame向用户显示该虚拟板的物理副本,以便用户可以与程序交互。这样做将允许“Tic-Tac-Toe”背后的所有逻辑留给“Board”类,GUI中的任何逻辑将只允许用户和游戏之间的交互。

您的教授“鼓励”您将UI逻辑与模型/数据的逻辑分开。您可以阅读有关MVC的内容,但基本上这是大多数语言中使用的非常普遍的范例谢谢您的回复。在看了更多的说明和MVC之后,我认为你是对的。我将分离我的UI逻辑和数据。我还得出结论,他所说的“位置”在董事会上仅为1-9,但我们打算用我们的方法来解释这一点。那么,在我的UI逻辑中,还是在包含我所有方法的类中,为游戏板存储一个字符数组(我将使用它作为手头数据的存储方法)会更好吗?这样考虑一下,如果您想将实现更改为其他内容,会有多困难?例如,您提出了一个允许网络播放的模型?更新你的程序有多难?如果你说“硬”,那么你的结构是错误的。模型应该支持数据和数据管理,其他什么都不支持,因此如果您发现自己在模型中添加了功能,而这些功能实际上不支持模型(和/或对实现进行假设),那么这是错误的。因此,如果我理解正确,这与String和Integer类的工作原理非常相似,因为您可以在必要时调用它们,以便随时使用它们。我会将我的数据放在UI逻辑中(或者我应该有另一个类吗?),然后使用Board类来操作它?这样一来,棋盘类游戏就尽可能多用了,而不是仅仅为了玩一场tic-tac-toe游戏。我只是重新考虑实现网络播放,将数据作为私有数据存储在Board类中并使用访问器会更容易。然后,我可以在物理视图方面做任何我想做的事情,以适应变化,比如网络播放实现。非常感谢你的帮助!还是一个新生,所以即使是最简单的事情也需要考虑一下。