- PR -

addActionListener シンボルを identifier

1
投稿者投稿内容
miki3
常連さん
会議室デビュー日: 2001/09/23
投稿数: 25
投稿日時: 2001-09-26 00:22
addActionListenerを入れてみたところ それについて「シンボルを解釈処理出来ない」その次のnewのところで 「identifier・・(綴りは怪しい)」アドバイスお願いします。
ActionPerformedの次に JFrameで画面を作る件です。よろしくお願いします。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2001-09-26 08:40
もしかして、パネルというのはJPanelもしくはPanelオブジェクトのことですか?
その場合addActionListener()とactionPerformed()は使えません。
ActionListenerはComponentオブジェクトがだすActionEventに対して反応します。
ActionEventを放出するのはButtonやMenuItemなどです。そのためActionEventを
放出しないPanel/JPanel, Frame/JFrameなどではaddActionListener()が実装さ
れていません。
詳しくはAPI Documentを見てください。

JButtonとActionListenerを使った例)
コード:
  {
    ...
    //JButtonオブジェクトの生成
    JButton button = new JButton("Click Me");
    ...
    //buttonにActionListenerをくっつける
    button.addActionListener(this);
    ...
  }
  ...
  //buttonが押された時に実行される
  public void actionPerformed(ActionEvent e)
  {
    System.out.println("hi");
    /*ボタンを押すとhiとプロンプトに表示する*/
  }



もし、パネル内をクリックして新しいフレームを作りたい場合はMouseListener
を使います。以下JFrameとMouseListenerを使った例を載せます。

JFrameとMouseListenerを使った例)
コード:
import javax.swing.*;
import java.awt.event.*;

/**
 * Implementation of MouseListener using JFrame.
 *
 * @author Hiroshi Higuchi (s2247990)
 * @version 1.0
 * @Created 26th September 2001
 * @Updated 26th September 2001
 *
 * @ (C)Copyright 2001 Hiroshi Higuchi All rights reserved.
 **/

public class Click extends JFrame implements MouseListener
{
    // Object Constructor
    public Click()
    {
        super(); //JFrame生成
        getContentPane().addMouseListener(this); //JFrameにMouseListenerをくっつける
    }

    //MouseListenerがくっついているComponent上でクリックされると実行されます
    public void mouseClicked(MouseEvent e)
    {
        System.out.println("マウスがクリックされました");
    }

    //MouseListenerがくっついているComponent上にマウスカーソルが入ると実行されます
    public void mouseEntered(MouseEvent e)
    {
        System.out.println("マウスがコンポーネント上に入りました");
    }

    //MouseListenerがくっついているComponent上からマウスカーソルが出ると実行されます
    public void mouseExited(MouseEvent e)
    {
        System.out.println("マウスがコンポーネントの外へ出ました");
    }

    //MouseListenerがくっついているComponent上でマウスのボタンが押されると実行されます
    public void mousePressed(MouseEvent e)
    {
        System.out.println("マウスが押されました");
    }

    //MouseListenerがくっついているComponent上でボタンが押された状態のマウスから手を離
    //したときに実行されます。
    public void mouseReleased(MouseEvent e)
    {
        System.out.println("マウスがリリースされました");
    }

    //Main
    public static void main(String[] args)
    {
        Click frame = new Click();    //Clickの生成
        frame.setVisible(true);       //Clickを明示的に表示
    }
}



役に立ったでしょうか?分からないことがあったら聞いてください。


[ メッセージ編集済み 編集者: H2 編集日時 2001-09-27 12:45 ]
1

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