有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

多Swing小程序actionlisteners java

有没有办法将所有这些actionlisteners组合成一个语句

    jbtn0.addActionListener(this);
    jbtn1.addActionListener(this);
    jbtn2.addActionListener(this);
    jbtn3.addActionListener(this);
    jbtn4.addActionListener(this);
    jbtn5.addActionListener(this);
    jbtn6.addActionListener(this);
    jbtn7.addActionListener(this);
    jbtn8.addActionListener(this);
    jbtn9.addActionListener(this);
    jbtnAdd.addActionListener(this);


    jfrm.add(jbtn0);
    jfrm.add(jbtn1);
    jfrm.add(jbtn2);
    jfrm.add(jbtn3);
    jfrm.add(jbtn4);
    jfrm.add(jbtn5);
    jfrm.add(jbtn6);
    jfrm.add(jbtn7);
    jfrm.add(jbtn8);
    jfrm.add(jbtn9);

我对java相当陌生,我正在使用eclipse


共 (2) 个答案

  1. # 1 楼答案

    是的,在某种程度上。我有时会这样做:

    for(JButton btn : new JButton[] {
        jbtn0, jbtn1, jbtn2, ... , jbtn9
    }) {
        jbtn.addActionListener(this);
        jfrm.add(jbtn);
    }
    

    即使我的组件不是以数组开头,我也会这样做,例如,如果我正在填充JToolBar,并且需要在其他地方按名称引用组件

    从命名方案来看,从一开始就使用数组也可能是有利的

  2. # 2 楼答案

    正如pzaenger在评论中所说,你可以将所有按钮添加到ArrayList或数组中,然后遍历所有条目,并为每个条目添加一个actionlistener