- PR -

イベントの発生を切り替えたい

1
投稿者投稿内容
ゆうぎり
会議室デビュー日: 2005/07/04
投稿数: 10
投稿日時: 2005-08-21 11:25
こんにちは。ゆうぎりといいます。

条件によってJPanelのイベントを発生させたり、させなかったりしたいんです。
イベントリスナーを削除すればいいと思い、下記のコードにしたんですが
countが0以外でイベントを発生させた後、count=0にしてもイベントが
発生してしまいます。
removeMouseListener()の使い方が間違っているのか、書き方が違うのか
教えてください。よろしくお願いします。

(バージョン j2sdk1.4.2_08 OS Windows.XP Service Pack2)

コード:

//リスナーの生成
PanelListener panelListener=new PanelListener();
//条件分岐
switch(count){
  case 0  : //リスナーの削除
	   chipPane.removeMouseListener(panelListener);
            break;
  default : //リスナーの追加
            chipPane.addMouseListener(panelListener);
	   break;
}


内部クラスのリスナー
コード:

class PanelListener extends MouseAdapter{
 //右クリックでポップアップメニュー	
 public void mouseReleased(MouseEvent e){
  if(e.isPopupTrigger()){
     createPop();
     pop.show(e.getComponent(),e.getX(),e.getY());
  }
}

Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2005-08-21 11:52
ゆうぎりさん、こんにちは。

リスナを addしたときと removeしたときの panelListener
は同じ物ですか?

もしかして switch文のあるメソッド内で newしてるようなこ
とありませんか?
ゆうぎり
会議室デビュー日: 2005/07/04
投稿数: 10
投稿日時: 2005-08-21 12:59
Kissingerさん、ご返答ありがとうございます。

switch文のあるメソッド内でnewしていました。
空け者です。すみませんでした。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)