因此,我正在尝试做一个简单的逻辑益智游戏。 我目前正在使用菜单选项。一种是创建一个新的游戏领域。弹出一个窗口,玩家可以在其中输入参数。 我无法工作的是,一旦对话框关闭,当前的游戏领域就会使用新的参数进行更新。
这是我的主要课程(当然是其中的一部分):
public MainFrame(int groesse, int anzahl) {
initUI(groesse, anzahl);
}
public void initUI(int groesse, int number_islands) {
...
}
public static void main(String[] args) {
int default_anzahl = 10;
int default_groesse = 10;
SwingUtilities.invokeLater(() -> {
MainFrame main = new MainFrame(default_groesse, default_anzahl);
});
}
参数窗口具有此动作监听器
ok.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
String feld = newf1.getText();
String inselz = newf2.getText();
int feldgroesse = Integer.parseInt(feld);
int inselzahl = Integer.parseInt(inselz);
if (feldgroesse > 4 && feldgroesse < 26 ){
main.initUI(feldgroesse, inselzahl);
fenster.dispose();
}
// OK
}
我的想法是从主类中调用initUI方法,但显然不起作用。 更改参数后,如何使UI“重新加载”?
编辑:Eclipse说,主要在“ main.initUI(feldgroesse,inselzahl);”中。无法解决。我如何从对话窗口到达“主”对象,而这是“对话框”对象。抱歉,我是Java新手。我想这对您来说可能非常容易,但对我而言却并非如此。