2016-05-15 72 views
-2

如何在一個按鈕上創建多個事件?按鈕上的兩個事件

public JButton getNumero1() { 
    numero1Button = new JButton(); 
    numero1Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ic_images/bt_n1.png"))); 
    ActionListener monitorador = new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 

      entradaNumero1.setText(("1")); 
      entradaNumero1.setEnabled(false); 

      entradaNumero2.setText(("2")); 
      entradaNumero2.setEnabled(false); 


     } 
    }; 

    numero1Button.addActionListener(monitorador); 
    return numero1Button; 
} 

我想用第一個是JTextField,然後是另一個!

謝謝!

回答

2

您可以任意數量的動作偵聽器添加到按鈕

Java 7的方式

public JButton getNumero1() { 
    numero1Button = new JButton(); 
    numero1Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ic_images/bt_n1.png"))); 
    ActionListener monitorador1 = new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 
      entradaNumero1.setText(("1")); 
      entradaNumero1.setEnabled(false); 
     } 
    }; 
    numero1Button.addActionListener(monitorador1); 
    ActionListener monitorador2 = new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 
      entradaNumero2.setText(("2")); 
      entradaNumero2.setEnabled(false); 
     } 
    }; 
    numero1Button.addActionListener(monitorador2); 
    return numero1Button; 
} 

Java的8路

public JButton getNumero1() { 
    numero1Button = new JButton(); 
    numero1Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ic_images/bt_n1.png"))); 
    ActionListener monitorador1 = e -> { 
     entradaNumero1.setText(("1")); 
     entradaNumero1.setEnabled(false); 
    }; 
    numero1Button.addActionListener(monitorador1); 
    ActionListener monitorador2 = e -> { 
     entradaNumero1.setText(("1")); 
     entradaNumero1.setEnabled(false); 
    }; 
    numero1Button.addActionListener(monitorador2); 
    return numero1Button; 
} 
+0

蘇雷什高野!謝謝你,兄弟! 問題已解決! –

3

如何在一個按鈕上創建多個事件?

沒有阻止你,你被允許:

  • 多於一個的ActionListener添加到一個JButton
  • 刪除的ActionListeners
  • 交換他們(通過添加和刪除)...
  • 有聽衆做了不止一件事...

注意,這還不清楚:

我想首先是一個JTextField做的,然後又是!

+0

我不明白。這是舉一個例子嗎? –