我在一个列表中有动态数量的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() == ?){
}
}
1条答案
按热度按时间falq053o1#
如果按钮正在执行操作,则应该为每个按钮实现单独的操作侦听器,否则在
e.getSource() == ?
这个?
应该是jbutton示例,例如:e.getSource() == bList.get(0)