Java로 멀티터치 애플리케이션을 개발하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/369301

  •  21-08-2019
  •  | 
  •  

문제

멀티 터치 인터페이스가 더욱 보편화되는 날을 예상하여 터치 애플리케이션 개발에 사용할 수 있는 Java 라이브러리가 있습니까?MouseListener/MouseMotionListener/MouseWheelListener와 유사한 인터페이스를 찾고 있습니다.

도움이 되었습니까?

해결책

MT4J 프로젝트에는 Java에서 멀티 터치 애플리케이션을 개발하는 데 필요한 모든 것이 있습니다. 잘 알려진 모든 멀티 터치 제스처는 이미 내장되어 있으며 마우스 이벤트를 듣는 것만 큼 간단하게 액세스 할 수 있습니다 (예 : component.addgesturelistener (..)). 또한 Javafx와 유사한 하드웨어 가속 장면 그래프를 특징으로합니다. 하나의 광석을 기계에 연결하여 멀티 터치 입력을 시뮬레이션 할 수도 있습니다. 확인하십시오 http://www.mt4j.org

다른 팁

Sparsh 마지막으로 Multitouch Java 솔루션을 조사한 후에도 여전히 북마크에 있습니다.

일반적인 마우스 리스너 나 클릭 리스너만큼 간단하지는 않지만 여전히 합리적인 인터페이스를 제공합니다.

구현하려면 청취 클래스가 필요합니다 sparshui.client.Client, 그것은 필요합니다 processEvent 메소드 정의.

public void processEvent(int groupID, Event event) {

        if(event instanceof TouchEvent) {
            TouchEvent e = (TouchEvent)event;
            if(e.getState() == TouchState.BIRTH) {
                //do initial touch stuff
            } else if(e.getState() == TouchState.MOVE) {
                //do dragging stuff
            }
        }
        else if(event instanceof DragEvent) {
            DragEvent e = (DragEvent)event;
            //do DragEvent specific stuff
        } else if(event instanceof RotateEvent) {
            RotateEvent e = (RotateEvent)event;
            //do RotateEvent specific stuff
        } else if(event instanceof ZoomEvent) {
            ZoomEvent e = (ZoomEvent)event;
            //do ZoomEvent specific stuff
        }
        //several other gesture types....
}

그런 다음 제스처 인식 서버를 시작하여 구성 요소를 통과해야합니다.

new ServerConnection("localhost", objectImplementingClientInterface);

사이트의 코드 예제를 살펴보면 프레임 워크에 대한 좋은 아이디어를 제공해야합니다.

나는 주로 UI를 처음부터 처리하고 설계하기 위해 노력하고 있습니다. MT4J와 Javafx가 모두하는 UI 프레임 워크를 처방하지 않는 솔루션을 찾고 있습니다. 또한, MT4J는 버려진 것으로 보인다.

이것은 최소한 Windows의 유망한 솔루션처럼 보이지만 아직 실제로 출시되었는지 확실하지 않습니다.http://wiki.gestureworks.com/index.php/gestureworkscore:gestureworks_core_tutorials

이는 특히 처리, 크로스 플랫폼, 오픈 소스 및 활성화를위한 것입니다.https://github.com/vialab/smt

MT4J Windows 8에서는 작동하지 않습니다.

응용 프로그램이 한 명의 사용자만을 위한 것이라면 다음을 사용할 수 있습니다. JavaFX.터치 이벤트에는 다양한 리스너가 있습니다.하지만 두 가지 동작을 동시에 처리하는 것은 불가능합니다. 왜냐하면 모든 터치 포인트가 하나의 동작으로 합쳐지기 때문입니다.대형 멀티 터치 스크린의 경우 이는 단점입니다.일반 화면의 경우 사용자가 한 명만 있어도 괜찮습니다.

그러나 또한 있다 제스처웍스.여기에서 새 동작을 정의하거나 미리 정의된 동작을 사용할 수 있습니다.제스처는 XML 파일(GML이라고 함)에 정의됩니다.모든 객체는 자체 동작을 처리할 수 있습니다.하지만 hitTest와 포인트 할당을 수동으로 구현해야 합니다.그러나 거기에는 훌륭한 튜토리얼.

내가 테스트하지 않은 또 다른 라이브러리는 PQ Lab의 멀티 터치 SDK.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top