【发布时间】:2017-02-03 16:32:07
【问题描述】:
好的,一开始,我知道为什么我收到了这个错误,但不知道如何解决它。
我有几个类,一个主类,一个布局类和一个 buttonClick 类。
问题出在 buttonClick 类中:我的布局类中有一些变量必须在 buttonClick 类中使用。
这是我的布局类:
public class Layout extends JPanel {
public JButton BTN_werpen;
public Layout{
BTN_werpen = new JButton("Werpen");
BTN_werpen.setBounds(465, 10, 80, 30);
BTN_werpen.addActionListener(new WerpButton());
P_velden.add(BTN_werpen);
}
当然,这不是完整的课程,但它是你需要知道的一切。
我有我的“WerpButton”actionListner 类:
public class WerpButton extends Layout implements ActionListener {
BTN_werpen.setEnabled(false);
}
同样,这还不是全部,但是当我在这里使用代码时它已经失败了。而且我知道它为什么会失败:那是因为当 Layout 类被扩展时,构造函数被调用,它将创建一个新对象,该对象触发 WerpButton 类,然后调用 Layout 类,依此类推。它基本上变成了一个循环。
现在,我的问题是:
我该如何解决这个问题?
我已经尝试了很多,
喜欢不扩展它,只使用Layout layout = new Layout();
然后在我的代码中使用layout.BTN_werpen,但这也不起作用。
【问题讨论】:
-
你有一个循环依赖。每个子类型都会隐式调用父类的构造函数。
-
是的,我知道。但是我该如何解决它,以便我可以在我的其他课程中使用
BTN_werpen?
标签: java swing stack-overflow