Nanashi-soft○プログラマ専用○Javaアプリケーション○
マウス入力を取得します
◎キャンバスのクリックした場所を取得
マウスでクリックする場所にあるコンポーネントに、リスナーを定義して下さい
キャンバスを設置している時に、ウィンドウにリスナーを設定しても反応しません
import java.awt.*; import java.awt.event.*; public class fst extends Frame{ public static final void main(final String[] args){ //ウィンドウ生成 Frame app=new Frame(); //タイトル設定 app.setTitle("Title"); //ウィンドウサイズ設定(タイトルや枠も含んだサイズ) app.setSize(240, 240); //キャンバスを配置 fstCanvas cvs=new fstCanvas(); app.add(cvs); //マウス入力取得用設定 MouseListener eMouse=new MouseListener(); cvs.addMouseListener(eMouse); //ウィンドウ表示 app.setVisible(true); } static class fstCanvas extends Canvas{ public void paint(Graphics g){ g.drawString("Hello World", 16, 16); } } } //マウス入力に関するクラス class MouseListener extends MouseAdapter{ //マウスをクリックした public void mousePressed(MouseEvent e){ int mX = e.getX(); int mY = e.getY(); System.out.println("X=" + mX + ",Y=" + mY); } }
ウィンドウ内をクリックすると、その座標が表示されます
表示される座標は、キャンバスの左上隅を(0,0)としたドット位置です
※[2006/08/19]ウィンドウ表示に app.show();とshowメソッドを使用すると警告が出てコンパイルできなくなりましたので修正