如何将jbuttons从列表连接到actionlistener

iqjalb3h  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(333)

我在一个列表中有动态数量的jbutton,需要帮助才能将它们连接到actionlistener
我首先根据一个名为alt的列表创建按钮:

for(int i =0;i<alt.size();i++) {
        JButton button = new JButton (alt.get(i));
        button.addActionListener(this); 
        buttonList.add(button);
    }

后来我添加了这样的按钮

private void gui(List<JButton> bList) {

    f = new JFrame("window");
    f.setLayout(new BorderLayout());    
    f.setVisible(true); 

    JPanel buttonPane = new JPanel();
    buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.PAGE_AXIS));

    for(int i =0;i<bList.size();i++) {
        buttonPane.add(bList.get(i));
    }
    f.add(buttonPane, BorderLayout.SOUTH);
 }

我知道永远不会有超过4个按钮。那么如何连接到actionlistener中的右按钮呢?没有在gui范围之外声明它们或者单独命名它们?

public void actionPerformed(ActionEvent e) {

        if(e.getSource() == ?) {  
        } else if (e.getSource() == ?) {
        } else if (e.getSource() == ?){
        }else if (e.getSource() == ?){
        }
}
falq053o

falq053o1#

如果按钮正在执行操作,则应该为每个按钮实现单独的操作侦听器,否则在 e.getSource() == ? 这个 ? 应该是jbutton示例,例如: e.getSource() == bList.get(0)

相关问题