2013-11-01 20 views
0

多於一個按鈕組有60個按鈕組,每組具有兩個單選按鈕是或該基團,按鈕被選擇沒有buttons.how知道事件在我的Java應用程序在Java

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]); 
} 
} 
} 

回答

0

的actionPerformed使用的getSource()從知道那裏的行動被激發

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

嘗試是這樣的方法:

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... 
     } 
    } 
} 
+0

需要爲每個按鈕設置名稱,可以請你解釋一下 – Rakesh

+0

如果你按照我的代碼,你會看到每個按鈕的名稱都設置爲:yes [i] .setName(「yes」+「 「+ i); – wxyz