调用另一个类中相互依赖的两个类-JavaGUI

调用另一个类中相互依赖的两个类-JavaGUI,java,class,user-interface,object,Java,Class,User Interface,Object,我正在尝试在单击按钮后重新启动游戏 这应该让两个屏幕一个接一个地显示出来,这两个屏幕被定义在两个相互依赖的类中 但问题是,第一个类WordPuzzle使用了第二个类骨架中的另一个对象,而不是我调用的那个,而我调用的骨架类正常工作 变量尝试设置WordPuzzle对象应运行的次数 增益是一个来自骨架类的整数 类WordPuzzle需要骨架中的整数和骨架对象才能初始化 骨架类需要一个WordPuzzle对象 //define variables Skeleton window; //In

我正在尝试在单击按钮后重新启动游戏

这应该让两个屏幕一个接一个地显示出来,这两个屏幕被定义在两个相互依赖的类中

但问题是,第一个类WordPuzzle使用了第二个类骨架中的另一个对象,而不是我调用的那个,而我调用的骨架类正常工作

变量尝试设置WordPuzzle对象应运行的次数

增益是一个来自骨架类的整数

类WordPuzzle需要骨架中的整数和骨架对象才能初始化

骨架类需要一个WordPuzzle对象

 //define variables
 Skeleton window;



 //Inside actionPerformed

  WordPuzzle puzzlegame = new WordPuzzle(window.gain, window); // creates puzzle window but does not make it visible yet
  puzzlegame.tries = 0; //set number of tries back to 0
  puzzlegame.getContentPane().setBackground(Color.WHITE);

  //ERROR: THE VALUES FOR CONSONANTGAIN COME FROM ANOTHER SKELETON OBJECT

  Skeleton window = new Skeleton (puzzlegame);
  window.getContentPane().setBackground(Color.WHITE);
  window.setVisible (true);

  this.dispose();
我希望你们对此很熟悉,我真的很困惑。谢谢你C:


编辑:虽然我选择了最好的答案,但在将代码传输到main并从这里调用它之后,这个问题实际上得到了解决。

首先,我看到您有一个未初始化的变量,但我假设您从某个地方调用了ele并初始化了它

 Skeleton window;
`
//执行内部操作

在这里,您正在创建一个拼图游戏窗口从骨架,这是好的

  WordPuzzle puzzlegame = new WordPuzzle(window.gain, window); // creates puzzle window but does not make it visible yet
  puzzlegame.tries = 0; //set number of tries back to 0
  puzzlegame.getContentPane().setBackground(Color.WHITE);
现在,骨架是用拼图游戏创建的,拼图游戏有骨架窗口,因为拼图游戏是用骨架窗口创建的。您应该在这里创建另一个窗口,并将该窗口作为parmater。在java中,可以使用new关键字创建新对象

Skeleton window = new Skeleton (new WordPuzzle()); //Here you need a new object
  window.getContentPane().setBackground(Color.WHITE);
  window.setVisible (true);

  this.dispose();

如何创建新窗口?因为我得到了一个错误:没有为Window找到合适的构造函数没有参数构造函数您没有提供足够的信息,但是请确保为两个窗口创建两个拼图,或者为两个拼图创建两个窗口,抱歉,我不确定需要什么信息,但是WordPuzzle需要一个整数和骨架对象来构造。然后创建一个新的骨架对象,将需要的整数复制到新变量中,然后创建puzzleworld,或者也可以克隆puzzleworld,但这是一个棘手的部分。还有一件事:在java中查看按值调用和按引用调用,然后您将了解所有内容以及代码产生问题的原因