Quiero reemplazar un JButton por un JLabel y quiero que mi código realice alguna acción cuando se hace clic en JLabel.¿Puedo agregar un detector de acciones a un JLabel?
Cuando tuve el JButton que utiliza el oyente de action para manejar los clics en el botón:
myButton.addActionListener(new clicksListener(arg1,this))
cuando reemplacé myButton
por myLabel
me dieron el mensaje de error en el Eclipse:
El método addActionListener (ChipsListener) es indefinido para el tipo JLabel
Pero sí sé que debería ser posible adjuntar un controlador de clic a JLabel. ¿Alguien sabe cómo se puede hacer?
No consigo su lógica aquí. ¿Quiere decir que todo 'Componente' puede agregar' MouseListener' (cualquier referencia)? ¿Y qué tipo de widget puede agregar 'ActionListener'? – Tony
Sí, el método 'addMouseListener()' se define en 'Component'. Esta clase genera objetos 'MouseEvent' cuando un mouse entra o sale del componente, o cuando se presiona un botón dentro del componente o se libera después de haber sido presionado dentro del componente. Cualquier clase que amplíe 'Component' puede tener cualquier número de referencias' MouseListener' que escuchen estos eventos. 'addActionListener()' se define en 'AbstractButton' y genera objetos' ActionEvent' cuando se presiona el botón. Como 'JLabel' no extiende' AbstractButton', no genera objetos 'ActionEvent'. Prueba 'JButton'. –