[J2ME] Obsługa dotykowego ekranu

0

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

0

http://www.roseindia.net/j2me/pointer.shtml

Tu masz najbardziej podstawowy przykład obsługi ekranu dotykowego. To w zasadzie wszystko w tym temacie.

0

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?

0

Ja wiem, ale jak nie zobace kodu to nie powiem.

0

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.

0

Nazwy metod są do chrzanu!!

Zajrzyj do dokumentacji klasy Canvas !!!!
http://java.sun.com/javame/reference/apis/jsr118/

Powinny się nazywać : pointerPressed, pointerDragged itd.

0

Dzięki wielkie za podpowiedź oraz za stronkę. [browar]

1 użytkowników online, w tym zalogowanych: 0, gości: 1