0
我有一個開始按鈕和一個彈出菜單選項,可以做同樣的事情。是否可以在同一個if語句中測試兩個按鈕,還是必須爲它們編寫兩個單獨的if語句?我可以使用邏輯OR運算符來測試if語句中的兩個條件嗎?
我想要做這樣的事情:
public void actionPerformed(ActionEvent e){
// The start button and the popup start menu option
if (e.getSource() == start)||(e.getSource() == startPopup){
new Thread() {
@Override
public void run() {
GreenhouseControls.startMeUp();
}
}.start();
*「或者我必須爲它們編寫兩個單獨的if語句嗎?」*最常見的方法是編寫兩個單獨的** ActionListener對象** –
我相信只有一個是更正常的ActionListener對象,但只允許它偵聽您需要它收聽的那些對象。在這種情況下,'actionPerformed'方法中不會有'if';但是這個ActionListener會監聽「開始」按鈕和「彈出開始」菜單選項。這使得它更加靈活 - 如果您決定採用相同操作添加工具欄按鈕,則不需要重寫「ActionListener」。 –