既存のクロスプラットフォームJavaプロジェクトにマルチタッチを追加しようとしていますか?私は2つの方法を見てきました。他にもいくつかの方法がありましたが、クロスプラットフォームではなく、特別なソフトウェアが必要でした。マルチタッチクロスプラットフォームJavaアプリケーション(Windows、Mac、Linux(Ubuntu)(おそらくAndroid))
- JavaFx - ウインドウズとosxでは動作していますが、Ubuntuでは機能していません16.04。
- MT4J - 廃止またはサポートされていないようです。
上記の私の結論は間違っている可能性があり、良いフィードバックを与えて再度それらを試してみるのは喜んでいます。
クロスプラットフォームのマルチタッチJavaアプリケーションを実現するにはどうしてですか?いくつかのネイティブコードを記述し、JNIを使って追加する必要があるかもしれないと思われますが、これは多くの作業のようです。この考え方の考え方は?フィードバックは、感謝、ありがとうございます。
継続1.0:私は今のJavaFXを使用するための唯一の欠点は、Linuxのマルチタッチサポートである主な理由はLinux上でのJavaFXを使って調査し続けている
。私が知ったことは、JavaFxのマルチタッチは組み込みシステム向けのLinuxディストリビューション(例えば、おそらく最も正直なところであるRaspberry Pi)で動作するということです。 OpenJFXを組み込みシステム用にコンパイルできる場合、OpenJFXの組み込みバージョンでは、デバイスドライバを直接使用してX11/GTKの代わりに入力(/ dev/input /)を取得します。デスクトップのLinuxディストリビューションはX11/GTKを使用してデスクトップ環境に入力するため、JavaFxはサポートが不足しているためこれらのイベントを取得できません。
私はリンクを使用したくないけど、ここでは、上記のリンク
https://wiki.openjdk.java.net/display/OpenJFX/Building+the+OpenJFX+embedded+stack+for+Linux+desktop
で、(x86システム用OpenJFXのバージョンをコンパイルする程度であることを、で、少なくとも私には思えますx64を動作させるはずです)。これは、デバイス入力を取得する組み込みシステムの方法を使用します。私はこのバージョンをコンパイルすることができますが、実行するとデスクトップがクラッシュするように見えますが、Java Appを残すこともあります。 Javaアプリケーションが実行されたままになっているタッチイベントは機能しますが、この最終結果は予測できず、デスクトップマネージャーをクラッシュさせるようです(この後にデスクトップを再起動する必要があります)。
継続1.1:
私はTUIOを使用してに見えたが、サンプルプログラムのどれも働きました。彼らは私のデバイスが使用しない特別な標準/プロトコールかもしれないTUIO対応デバイスが必要だと言います。ちょうどTUIOのデモをダウンロードしただけで運がないタッチスクリーンで走った。
また、私のJavaアプリケーションウィンドウにxevをつけて、結果をファイルにストリーミングして、Javaアプリケーションが読み込んでjavaイベントを解析することも考えました。これはかなりハッキーなようだし、それがうまくいくかどうか分からない。誰かがこの作業の可能性を明らかにするなら、私はそれを試みるかもしれません。しかし、現時点では、これは多くの作業に似ています。
継続1.2:
この https://bugs.openjdk.java.net/browse/JDK-8090954 発見、それが面白いと思いました。
下記のソリューションを掲載しました。
これを使用して、Windows、Mac、Linuxでマルチタッチを有効にするための既存のJavaプロジェクトをどのように使用できるかの例を挙げることができますか?あるいは、何が必要かを説明する。 – mpyne
質問は具体的には、Javaについては、他のプラットフォームではなく、Javaベースではないと言って、役に立たない。 – caiocpricci2
これをデスクトップのJavaアプリケーションとどのように統合するのかについては、ほんの少しでも助けていただければ幸いです。私たちを始めるには、情報があまりにも短いです。 – vextorspace