按下什么按钮java

anv*_*nvd 0 java events swing button actionlistener

有可能通过一个独特的eventListener来识别btn被按下了吗?

我尝试了这段代码,但没有用

 ActionListener one = new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    if (gr1.getCounter1() < 5) {
                        gr1.setCounter1(gr1.getCounter1() + 1);
                        if (arraybtn[1].isSelected())
                            test1.setIcon(play1a);
                        if (arraybtn[2].isSelected())
                            test1.setIcon(play1b);
                        if (arraybtn[3].isSelected())
                            test1.setIcon(play1c);
                        if (arraybtn[4].isSelected())
                            test1.setIcon(play1d);
                        if (arraybtn[5].isSelected())
                            test1.setIcon(play1e);
                    } else {
                        pn5.setText("No more cards");
                    }
                }
            };
Run Code Online (Sandbox Code Playgroud)

谢谢, !

Cod*_*nci 5

使用对象中的getSource方法ActionEvent.

您的代码如下所示:

if (e.getSource() == arraybtn[1])
   test1.setIcon(play1a);
if (e.getSource() == arraybtn[2])
   test1.setIcon(play1b);
if (e.getSource() == arraybtn[3])
   test1.setIcon(play1c);
if (e.getSource() == arraybtn[4])
   test1.setIcon(play1d);
if (e.getSource() == arraybtn[5])
   test1.setIcon(play1e);
Run Code Online (Sandbox Code Playgroud)

获取事件的来源(即按下的按钮).

http://download.oracle.com/javase/1.4.2/docs/api/java/util/EventObject.html#getSource()