2010-12-01 1 views

答えて

7

TextField a = ...; 
    a.addMouseListener(new MouseAdapter(){ 
    public void mouseReleased(MouseEvent e) { 
    //some stuff 
    } 
}); 

UPD2 修正のKeyListenerのようなSMTされるだろうjava.awt.TextFieldはsuですbclassはjava.awt.TextComponentです(これはjava.awt.Componentのサブクラスです)。 ComponentクラスにはaddMouseListener()メソッドがあります。また、あなたがjava.awt.event.MouseAdapterMouseListenerを置き換えることができ

は、それがMouseListenerMouseWheelListenerMouseMotionListener方法のすべてをカプセル化しています。 (MouseAdapterの)のJavaDocから

受けるマウスイベントのための抽象アダプタクラスです。このクラスのメソッドは空です。 このクラス は、リスナーオブジェクト の作成に便利です。

マウスイベントは が移動し、 マウスは、押されたリリース、クリックされたときに追跡でき、それは マウスホイールが移動したとき、それが終了し、 コンポーネントを、入ったときに、ドラッグ。

+0

私はMousePressedだけを使用していますが、なぜEclipseは私に他のすべてのための空の関数を持たせますか? – Strawberry

+1

@Doug、あなたは抽象クラスではなくインターフェイスを実装しているからです。 'mousePressed'だけをしたいのであれば、代わりに' MouseAdapter'を使います。 –

3

おそらくaddMouseListener()が必要です。

UPD あなたの理由はということでとても

TextField field = new TextField(); 
field.addMouseListener(new MouseListener() { 

    public void mouseClicked(MouseEvent e) { 

    } 

    public void mousePressed(MouseEvent e) { 

    } 

    public void mouseReleased(MouseEvent e) { 

    } 

    public void mouseEntered(MouseEvent e) { 

    } 

    public void mouseExited(MouseEvent e) { 

    } 

}); 

ようMouseListenerを追加することができますjava.awt.TextField上のMouseListener

+1

あなたは一貫した英語で回答を入力することができますか? –

+1

MouseListenerの代わりにMouseAdapterの場合+1。 – Nowaker

+0

@Glenn Nelson、申し訳ありません。私はしようとしています。あなたが私の間違いを告げるなら、それは素晴らしいことでしょう。 –

0

このお試しください:

TextField.setText("defaultText"); 

    TextField.addMouseListener(new java.awt.event.MouseAdapter() { 
     public void mouseClicked(java.awt.event.MouseEvent evt) { 
      reSet(evt); 
     } 
    }); 

    TextField.addFocusListener(new java.awt.event.FocusAdapter() { 
     public void focusGained(java.awt.event.FocusEvent evt) { 
      reSet(evt); 
     } 
    }); 

    void reSet(java.awt.event.KeyEvent evt) { 
     String temp = jTextField1.getText(); 
     TextField.setText(temp.equals("defaultText")? "" : temp); 
    } 
+0

ここではわかりません: 'Component'がフォーカスを取得したとき、つまりalt + tabをJFrameにフォーカスしたときに' focusGained(FocusEvent) 'が常に起動されないのですか? –

関連する問題