如何将JButton从列表连接到actionListener

问题描述 投票:1回答:1

我在列表中有动态数量的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() == ?){
        }
}

我在列表中有动态数量的JButton,需要帮助将它们连接到actionListener,我首先基于一个名为alt的列表创建按钮:for(int i = 0; i

java list actionlistener
1个回答
1
投票
如果按钮正在执行操作,则应为每个按钮实现单独的操作侦听器,否则在e.getSource() == ?中,?应该是JButton实例,例如:e.getSource() == bList.get(0)
© www.soinside.com 2019 - 2024. All rights reserved.