Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将actionListeners添加到已添加到JToolBar的新JButton_Java_Swing_Jbutton - Fatal编程技术网

Java 将actionListeners添加到已添加到JToolBar的新JButton

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添加到按钮中,以便在单击其中一个按钮后执行一些计算 非常

希望这个标题能比较好地解释我的问题。我有一个JToolBar,dateBar,我想像这样添加按钮:

    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