2010-03-24 11 views
4

J'essaie de créer une étiquette de type lien dans scala. Mais aucun événement de souris ne fonctionne pour moi. Comment sont-ils censés travailler?Les événements souris de scala fonctionnent-ils? Comment?

class Hyperlink extends Label{ 
text = "hyperlink" 
reactions += { 
    case MouseClicked(_,_,_,_,_) => 
     println("mouse clicked")}} 

Je mets cela dans un certain panneau et cliquez sur l'étiquette comme un joueur de démineur ... et rien n'apparaît dans la console. Pourquoi?

+0

Voir http://stackoverflow.com/questions/938437/scala-swing-event-framework-where-do-i-add-my-reactors –

Répondre

5

Vous devez listenTo la chose pertinente, quelque chose comme:

listenTo(this.mouse.clicks) 

Edit: depuis 2.8.0 souris est dépréciée, utilisez la souris à la place

+0

assez difficile à trouver ceci dans l'Api. Il devrait y avoir une référence de classes qui étendent Component, je pense – coubeatczech

2

Peut-être que cela aurait dû être un commentaire à la réponse précédente , mais en raison de mon représentant, je ne peux pas ajouter des commentaires. This.Mouse est dépréciée et this.mouse doit être utilisé à la place. Aussi, cela pourrait être une bonne ressource: http://www.scala-lang.org/sid/8