Witam. Dopiero zaczynam zabawę z J2ME ale nie interesują mnie aplikacje obsługiwane z klawiatury telefonu lecz te z obsługą poprzez dotykowy ekran. Niestety nie mogę nic na ten temat znaleźć tzn. jak odczytać w programie "dotykanie" ekranu. Wdzięczny bym był za jakieś źródła. Pozdrawiam
http://www.roseindia.net/j2me/pointer.shtml
Tu masz najbardziej podstawowy przykład obsługi ekranu dotykowego. To w zasadzie wszystko w tym temacie.
Niby wygląda ok. Kompiluje się oraz instaluje ale nie reaguje na dotyk. Ciągle widać tylko napis "Press Pointer! 0/0" a po naciśnięciu ekranu nic się nie dzieje. Już nawet dodałem do pliku MANIFEST.MF linijkę "MIDlet-Touch-Support: True" ale również nie dało to efektu. Telefon na jakim testuje programy to samsung avila. Wie ktoś jak zrobić żeby działało?
Ja wiem, ale jak nie zobace kodu to nie powiem.
Oto cały kod. Nie jest przepisywany tylko pobrany ze stronki poprzez download więc raczej nie ma jakiś banalnych błędów jakie robią nowicjusze.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class PointerExample extends MIDlet{
private Display display;
public void startApp(){
display = Display.getDisplay(this);
display.setCurrent (new PointerCanvas());
}
public void pauseApp(){}
public void destroyApp (boolean forced){}
}
class PointerCanvas extends Canvas {
String action = "Press Pointer!";
int x;
int y;
public void pressPointer (int x, int y) {
action = "Pointer Pressed";
this.x = x;
this.y = y;
repaint ();
}
public void releasePointer (int x, int y) {
action = "Pointer Released";
this.x = x;
this.y = y;
repaint ();
}
public void dragPointer (int x, int y) {
action = "Pointer Repeated";
this.x = x;
this.y = y;
repaint ();
}
public void paint (Graphics g) {
g.setGrayScale (255);
g.fillRect (0, 0, getWidth(), getHeight());
g.setGrayScale (0);
g.drawString (action + " " + x + "/" + y, 0, 0, Graphics.TOP|Graphics.LEFT);
g.drawLine (x-4, y, x+4, y);
g.drawLine (x, y-4, x, y+4);
}
}
Z góry dziękuję za pomoc.
Nazwy metod są do chrzanu!!
Zajrzyj do dokumentacji klasy Canvas !!!!
http://java.sun.com/javame/reference/apis/jsr118/
Powinny się nazywać : pointerPressed, pointerDragged itd.
Dzięki wielkie za podpowiedź oraz za stronkę. [browar]