Java — ActionEvent 中的 getActionCommand() 方法


在ActionEvent中 有這樣一個方法getActionCommand()  ;

               public String getActionCommand() ;

這個方法返回的是事件源組件的“命令” , 這個“命令” 實際上就是事件源組件上的“Label(標簽)字符串” ,

比如:Button bt = new Button("按鈕1") ;

那么如果我們為這個按鈕添加了一個點擊事件監聽器的話(ActionListener),那么在public void actionPerformed(ActionEvent e)方法中,

如果調用getActionCommand()方法的話,返回的就是“按鈕1” ;

那么這個方法到底有什么用處呢?

用途1:如果我們為多個可點擊的組件注冊了相同的事件監聽器(ActionListener)的話,我們就可以

           使用    e.getActionCommand() 來區分到底是哪個組件被單擊了(當然要保證這些組件的標簽有互不相同的字符串),但是

           e.getSource() 同樣可以做到 ;

用途2:通過此方法返回同一個組件能夠產生的幾個命令之一。

           例如,單個按鈕可以在“顯示詳細信息”和“隱藏詳細信息”之間切換。在所有情況下,源對象和事件都將是相同的 , 使用getSource()不能夠去區分,

           但命令字符串將會標識出實際對應的動作。

          public class TestURL extends JFrame {  

                   public static void main(String [ ] args)  {   

                        TestURL my = new TestURL() ;   

                        Button bt = new Button("show") ;   

                        bt.addActionListener(new ActionListener( )   {

                             @Override    

                             public void actionPerformed(ActionEvent e) {     

                                    Button bt = (Button)e.getSource() ;    

                                   if(e.getActionCommand().equals("show"))     {      

                                             bt.setLabel("hide");     

                                    }     

                                     else     {      

                                                bt.setLabel("show");     

                                    }        

                               }       

                            });      

                           my.add(bt) ;  

                           my.setSize(200,200);  

                           my.setVisible(true);  

               }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM