Java 将actionListeners添加到已添加到JToolBar的新JButton
希望这个标题能比较好地解释我的问题。我有一个JToolBar,dateBar,我想像这样添加按钮:Java 将actionListeners添加到已添加到JToolBar的新JButton,java,swing,jbutton,Java,Swing,Jbutton,希望这个标题能比较好地解释我的问题。我有一个JToolBar,dateBar,我想像这样添加按钮: for (Day d : newCal.getDateList()) { dateBar.add(new JButton(d.toString())); } 对于集合中的每个对象,在JToolBar中添加一个新按钮。这是可行的,除了我不知道如何/是否可以将actionListener添加到按钮中,以便在单击其中一个按钮后执行一些计算 非常
for (Day d : newCal.getDateList()) {
dateBar.add(new JButton(d.toString()));
}
对于集合中的每个对象,在JToolBar中添加一个新按钮。这是可行的,除了我不知道如何/是否可以将actionListener添加到按钮中,以便在单击其中一个按钮后执行一些计算
非常感谢,希望我已经说得够清楚了
我应该补充一点
JButton button = new JButton(d.toString());
button.addActionListener(this);
dateBar.add(button);
似乎不起作用,即使该方法包含在实现actionListener中的类也会在创建按钮的同一循环中添加actionListener 例如:
for (Day d : newCal.getDateList()) {
JButton button = new JButton(d.toString());
button.addActionListener(todo);
dateBar.add(button);
}
或者,您可以将操作对象传递给构造函数中的按钮
for (Day d : newCal.getDateList()) {
dateBar.add(new JButton(new CalendarAction(d.toString()))));
}
试试这个
for (Day d : newCal.getDateList()) {
JButton button = new JButton(d.toString());
button.addActionListener(this);
dateBar.add(button);
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("your button label"){
// do your action
}
}
对不起,Alexa2410,在哪里?看他们有很多合作的例子
JButton
和ActionListener