一、JButton的e.getSource()和e.getActionCommand()方法的區(qū)別
在Java中,Swing庫(kù)提供了JButton類來(lái)創(chuàng)建按鈕組件。在按鈕被點(diǎn)擊時(shí),我們通常需要執(zhí)行相應(yīng)的操作。為此,我們需要注冊(cè)一個(gè)ActionListener來(lái)監(jiān)聽按鈕的點(diǎn)擊事件。當(dāng)一個(gè)按鈕被點(diǎn)擊時(shí),ActionListener的actionPerformed()方法將被調(diào)用,并且它將被傳遞一個(gè)ActionEvent對(duì)象,該對(duì)象包含有關(guān)按鈕的信息。
在ActionEvent對(duì)象中,有兩個(gè)方法getSource()和getActionCommand(),這兩個(gè)方法經(jīng)常被用于處理按鈕點(diǎn)擊事件。
getSource()方法返回觸發(fā)事件的對(duì)象。對(duì)于一個(gè)JButton對(duì)象來(lái)說,當(dāng)按鈕被點(diǎn)擊時(shí),ActionEvent對(duì)象的getSource()方法將返回這個(gè)JButton對(duì)象本身。因此,我們可以使用getSource()方法來(lái)判斷哪個(gè)按鈕被點(diǎn)擊了。
getActionCommand()方法返回與事件關(guān)聯(lián)的字符串命令。對(duì)于一個(gè)JButton對(duì)象來(lái)說,可以使用setActionCommand()方法來(lái)設(shè)置與該按鈕關(guān)聯(lián)的命令字符串。當(dāng)該按鈕被點(diǎn)擊時(shí),ActionEvent對(duì)象的getActionCommand()方法將返回該命令字符串。因此,我們可以使用getActionCommand()方法來(lái)確定哪個(gè)命令被觸發(fā)了。