简体   繁体   English

Java中多个按钮组上的事件

[英]event on more than one button group in java

in my java application there is 60 button groups and each group has two radio buttons yes or no buttons.how to know that which group ,button is selected 在我的Java应用程序中有60个按钮组,每个组有两个单选按钮yes或no button.how知道选择哪个组,button

   import javax.swing.*;
        class buttonGroup{
         JToggleButton yes[],no[];
           JPanel yesNo[];
           ButtonGroup group[];
        public void init()
        {
 yesNo=new JPanel[60];
            yes=new JToggleButton[60];
            no=new JToggleButton[60];
            group=new ButtonGroup[60];
        for(int i=0;i<60;i++)
{
 yesNo[i]=new JPanel();
                   yes[i]=new JToggleButton("yes");
                   no[i]=new JToggleButton("no");
                   group[i]=new ButtonGroup();
yesNo[i].add(yes[i]);
                   yesNo[i].add(no[i]);
                   group[i].add(yes[i]);
                   group[i].add(no[i]);
}
}
}

In the method actionPerformed use getSource() to know from where the action is fired actionPerformed方法中,使用getSource()知道从何处触发该操作

public void actionPerformed (ActionEvent ae){
    if(ae.getSource.equals(//put the object here ){
       // implementation here
    }
}

Try something like this: 尝试这样的事情:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JToggleButton;

class buttonGroup implements ActionListener
{
    JToggleButton yes[], no[];
    JPanel yesNo[];
    ButtonGroup group[];

    public void init()
    {
        yesNo = new JPanel[60];
        yes = new JToggleButton[60];
        no = new JToggleButton[60];
        group = new ButtonGroup[60];
        for(int i = 0; i < 60; i++)
        {
            yesNo[i] = new JPanel();
            yes[i] = new JToggleButton("yes");
            yes[i].setName("yes" + " " + i);
            yes[i].addActionListener(this);
            no[i] = new JToggleButton("no");
            no[i].setName("no" + " " + i);
            no[i].addActionListener(this);
            group[i] = new ButtonGroup();
            yesNo[i].add(yes[i]);
            yesNo[i].add(no[i]);
            group[i].add(yes[i]);
            group[i].add(no[i]);
        }
    }

    public void actionPerformed(ActionEvent sE)
    {
        if(sE.getSource() instanceof JToggleButton)
        {
            JToggleButton oSourceButton = (JToggleButton) sE.getSource();
            System.out.println("Button " + oSourceButton.getName() + " was pressed...");
            // do whatever...
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM