İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Zafer Teker
tekzaf@yahoo.com

Cep Telefonlarındaki Pointer'ı(Kalem) Dinleyen Bir Midlet

Giriş

Bu örnekte cep telefonlarında kullanılan kalem(pointer) dinlenmektedir. Pointer tıklandığında veya kaldırıldığında x,y noktaları ekrana çizilmektedir.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import javax.microedition.midlet.*;
  2 import javax.microedition.lcdui.*;
  3 import javax.microedition.io.*;
  4 import java.io.*;
  5 import java.util.*;
  6 public class PointerTestMidlet extends MIDlet{
  7   public void startApp(){
  8     TestCanvas canvas=new TestCanvas(this);
  9     Display.getDisplay(this).setCurrent(canvas);
 10   }
 11   public void pauseApp(){}
 12   public void destroyApp(boolean b){}
 13   public void exit(){
 14     destroyApp(false);
 15     notifyDestroyed();
 16   }
 17   class TestCanvas extends Canvas implements CommandListener{
 18     private PointerTestMidlet middlet;
 19     private Command exitCommand=new Command("Exit",Command.EXIT,1);
 20     String s="";
 21     public TestCanvas(PointerTestMidlet middlet){
 22       this.middlet=middlet;
 23       addCommand(exitCommand);
 24       setCommandListener(this);
 25     }
 26     public void commandAction(Command c, Displayable d){
 27      if(c==exitCommand){
 28        middlet.exit();
 29      }
 30     }
 31     public void paint(Graphics g){
 32       System.out.print("Paint");
 33       clear(g);
 34       g.drawString(s,30,30,Graphics.BASELINE|Graphics.HCENTER);
 35     }
 36     public void pointerPressed(int x,int y){
 37         System.out.println(" Pressed X: "+x+" Y: "+y);
 38         s=" Pressed X: "+x+" Y: "+y;
 39         repaint();
 40     }
 41     public void pointerReleased(int x,int y){
 42         System.out.println(" Released X: "+x+" Y: "+y);
 43         s=" Pressed X: "+x+" Y: "+y;        
 44         repaint();
 45     }
 46     public void pointerDragged(int x,int y){
 47         System.out.println(" Dragged X: "+x+" Y: "+y);
 48         s=" Pressed X: "+x+" Y: "+y;        
 49         repaint();        
 50     }    
 51     private void clear(Graphics g){
 52       System.out.print("C Aloo");
 53       g.setColor(255,255,255);
 54       g.fillRect(0,0,getWidth(),getHeight());
 55       g.setColor(0,0,0);
 56     }
 57   }
 58 }

Midletlerde pointer dinlemek için Canvas class'ını kullanmalısınız. Bu iş için Canvas class'ının

pointerPressed(int x,int y)
pointerReleased(int x,int y)
pointerDragged(int x,int y)

method'ları kullanılmaktadır. Yine Canvas class'ında ki hasPointerEvents() ile cep telefonunun press ve releas olayını destekleyip desteklemediğini öğrenebilirsiniz. hasPointerMotionEvents() ise drag işleminin desteklenip desteklenmedğini bildirir.

x,y noktaları hem canvas çizilmektedir Hem de System out'una basılmaktıdır.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır