マウス情報の取得
this.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { this_mousePressed(e); } public void mouseReleased(MouseEvent e) { this_mouseReleased(e); } });また、以下はマウスをドラッグしたとき呼び出されるメソッドを定義します。MouseEvent e より、マウスを押したり離したときのマウスの位置を取得できます。
this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { this_mouseDragged(e); } });これを実行すると、マウスをドラッグすると this_mouseDragged(e); が連続的に呼び出されます。
void this_mousePressed(MouseEvent e) { mpos=e.getPoint(); eventlabel.setText("mousePressed"); xlabel.setText(Integer.toString(mpos.x)); ylabel.setText(Integer.toString(mpos.y)); }
void this_mouseDragged(MouseEvent e) { mpos=e.getPoint(); eventlabel.setText("mouseDragged"); xlabel.setText(Integer.toString(mpos.x)); ylabel.setText(Integer.toString(mpos.y)); }
import java.awt.*; import java.awt.event.*; import java.applet.*; public class Mouse extends Applet{ private Label xlabel = new Label(); private Label ylabel = new Label(); private Label eventlabel = new Label(); Point mpos=new Point(0,0); public void init() { this.setLayout(null); //xとyのラベルを作成 xlabel.setText("0"); xlabel.setBounds(new Rectangle(120, 20, 40, 17)); ylabel.setText("0"); ylabel.setBounds(new Rectangle(170, 20, 40, 19)); eventlabel.setBounds(new Rectangle(10, 20, 100, 17)); this.add(ylabel, null); this.add(eventlabel, null); this.add(xlabel, null); //マウスリスナの定義 this.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { this_mousePressed(e); } public void mouseReleased(MouseEvent e) { this_mouseReleased(e); } }); this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { this_mouseDragged(e); } public void mouseMoved(MouseEvent e) { this_mouseMoved(e); } }); } //マウスボタンが押された void this_mousePressed(MouseEvent e) { mpos=e.getPoint(); eventlabel.setText("mousePressed"); if(e.getClickCount()==2) eventlabel.setText("DoubleClicked"); if((e.getModifiers() & InputEvent.BUTTON3_MASK) != 0) eventlabel.setText("RightButtonPressed"); xlabel.setText(Integer.toString(mpos.x)); ylabel.setText(Integer.toString(mpos.y)); //System.out.println("mouseCount:"+e.getClickCount()+"num:"+numPoint); repaint(); } void this_mouseReleased(MouseEvent e) { eventlabel.setText("mouseReleased"); xlabel.setText(Integer.toString(mpos.x)); ylabel.setText(Integer.toString(mpos.y)); //editMode=false; repaint(); } //マウスがドラッグされた void this_mouseDragged(MouseEvent e) { mpos=e.getPoint(); eventlabel.setText("mouseDragged"); xlabel.setText(Integer.toString(mpos.x)); ylabel.setText(Integer.toString(mpos.y)); repaint(); } void this_mouseMoved(MouseEvent e) { mpos=e.getPoint(); eventlabel.setText("mouseMoved"); xlabel.setText(Integer.toString(mpos.x)); ylabel.setText(Integer.toString(mpos.y)); repaint(); } }