-2

actionPerformed に mouseListener (mouseClicked、mouseEntered など) を追加する方法がわかりません。JButton からアクションを追加する方法だけを学びましたが、mouseListener は JLabel にあります。

これがこのコードです:

test = new JLabel (ikona);
    test.setBounds(200, 200, 100, 100);
    add(test);
    test.addMouseListener(new MouseListener()
    {

        public void mouseClicked(MouseEvent e) {
            System.out.println(ikona2);

        }

        public void mouseEntered(MouseEvent e) {
            // TODO Auto-generated method stub

        }

と:

public void actionPerformed(ActionEvent arg0) 
{
    Object Zrodlo = arg0.getSource();
    if (Źródło==przycisk)
    {
    wyswietlacz.setText(new Date().toString());
    //System.out.println(new Date());
    }
    else if (Zrodlo==przycisk2)
    {
        dispose();
    }
    else if (Zrodlo==przycisk3)
    {
    wyswietlacz.setText(new Date().toString());
    }
    else if (Zrodlo==test)
    {
        wyswietlacz.setText("");
    }

「przycsik、przycisk2、przycisk3」はJButtonです。JLAbel(「テスト」)で何かをしようとしていますが、これを解決する方法がわかりません。

PS私の英語でごめんなさい...

編集: JButton の場合、これを使用して私の JFrame でアクションを確認します。

public void actionPerformed(ActionEvent arg0) 
{
    Object Zrodlo = arg0.getSource();
    if (Źródło==przycisk)
    {
    wyswietlacz.setText(new Date().toString());
    //System.out.println(new Date());
    }
    else if (Źródło==przycisk2)
    {
        dispose();
    }

JLabel と mouseListener で同じことをしたいです。どのマウス/カーソルがどのMouseListenerであるかの相互作用を見たいです。icon(gif) を JLabel に追加し、MouseListener を使用して icon1 を icon2 の例 mouseClicked または mousePressed に変更したいと考えています。私が使用する場合:

test.addMouseListener(new MouseListener()
    {

        public void mouseClicked(MouseEvent e) {
            System.out.println(ikona2);

        }

Eclipse コンソールに "ikona2" のソースしか表示されません。JFrame でアクションを確認したい。

4

3 に答える 3

2

リスナーは、オブザーバー パターンに従う一種のコールバックで、何かが発生すると通知を受け取ります。

さまざまな種類のイベントに対して、さまざまな種類のリスナーがあります。ボタンにはActionListener、ボタンにフォーカスがあるときに、少なくともユーザーがクリックするか、Enter キーまたはスペースを押すことによってトリガーされる があります。

ラベルには がありません。ActionListenerラベルはすべての意図された目的のための静的コンポーネントですが、ラベルにはMouseListener...

MouseListener listener = ...;
JLabel label = new JLabel("This is a clickable lable");
label.addMouseListener(listener);

これにより、ラベル上でマウス クリックが発生したときを監視できます。

を見てみましょう:

詳細については

于 2013-07-01T23:37:12.570 に答える