bayguiのEventにはまる
e->getSource()がおかしいなぁ。
作法を間違えたか?
追記
最小再現コード
class Sample : public Frame { private: Button* button_; Label* label_; public: Sample() { setBounds(50, 50, 200, 200); button_ = new Button("test"); button_->setBounds(100, 100, 24, 24); setTitle("Sample"); add(button_); label_ = new Label(""); label_->setBounds(10, 30, 150, 40); add(label_); } ~Sample() { delete label_; delete button_; } void processEvent(Event *event) { if (event->getType() == MouseEvent::MOUSE_PRESSED) { char buf[64]; sprintf(buf, "source=%x\n", event->getSource()); label_->setText(buf); } } }; int MonaMain(List<char*>* pekoe) { Sample* sample = new Sample; sample->run(); delete sample; return 0; }
event source をラベルに表示するコードですが、一度ボタンを押した後にボタン外を押してもボタンと同じsourceの event が来る場合がある。