当前位置: 首页 > 面试题库 >

将变量传递给Java中的ActionListener

相洛华
2023-03-14
问题内容

我有类似下面的代码:

    for(int i=0;i<10;i++){
        button=new JButton(buttons[i]);
        button.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                setPage(i);
            }
        });
        menu.add(button);
    }

但是,该变量i未在ActionListener类的范围内定义。如何传递变量


问题答案:

除了Hovercraft的答案外,您还应注意,您不会被迫对侦听器使用匿名类。气垫船的答案代码类似于以下代码:

private class PageActionListener implements ActionListener {
    private int page;

    public PageActionListener(int page) {
        this.page = page;
    }

    public void actionPerformed(ActionEvent e) {
        setPage(page);
    }
}

...

for(int i = 0; i < 10; i++){
    button = new JButton(buttons[i]);
    button.addActionListener(new PageActionListener(i));
    menu.add(button);
}


 类似资料:
  • 问题内容: 我对此完全迷失了;我正在使用NodeJS来获取JSON,我需要将变量传递给我的页面并让JavaScript使用数据。 那就是我的Express代码(出于测试目的非常简单);现在使用EJS,我想收集这些我知道要呈现在页面上的数据, 但是我需要能够在JavaScript中收集这些数据(如果可能在.js文件中),但现在只是在我尝试过的“警告”框中显示变量 在翡翠中就像或。我可以在EJS中做类

  • 问题内容: 我有Google地图提供的JavaScript值,需要将其保存在MySQL数据库中。 其实我有变量 我需要将该变量传递给PHP变量lugar 问题答案: 如果要在页面转换时进行操作,则可以通过表单或在URL中传递它,然后仅使用或接收变量。 如果您需要无缝完成它,那么您可能需要考虑使用AJAX。

  • 问题内容: 我有一个PHP会话变量,在整个会话过程中仍然有效。在开头部分,我包含了我的JavaScript文件。 如果需要以下内容,如何将会话变量传递到JavaScript文件中。 由于无法在JavaScript文件中识别出,因此上面的代码不起作用。因此,我必须放入PHP文件本身,但是如何将其保留在JavaScript文件中? 问题答案: 在您的PHP文件中,您可以将用户设置为全局变量: 在包含外

  • 问题内容: 如果我有一个指令,我可以这样调用它 我该如何访问?我在函数中使用时会得到实际的字符串。当我检查html时,实际上说。 问题答案: 尝试 然后 演示:柱塞

  • myrole/tasks/main.yml myrole/defaults/main.yml 但是,当我将变量传递给我的角色时,它无法使用defaults/main.yml文件,并且得到以下错误: 似乎可以使用数组,但如果我使用哈希并希望访问带有item.xxx的变量,则返回此错误: 失败了!=>{“failed”:true,“msg”:“字段'args'具有无效值,该值似乎包含未定义的变量。错误

  • 问题内容: 如何在不刷新页面的情况下将变量从jQuery传递到PHP?当我单击一个复选框时,我想将一个变量从jQuery传递到PHP。我也在使用formdialog。 我的PHP代码 我的JavaScript代码 问题答案: Ajax可以做到这一点。谷歌它,并检查api.jquery.com并查看ajax函数,.ajax(),.post(),.get(),.load()等。 关于您的特定问题,这是