1

Windows OS で動作するタッチ モニター付きのコンピューター。ユーザーがテキストフィールドに触れたことを検出し、ウィンドウのオンスクリーンキーボードを表示し、テキストフィールドでない場合はオンスクリーンキーボードを非表示にするJavaコードを作成する必要があります。

次を使用してオンスクリーンキーボードを表示する作業を行いました:

Runtime.getRuntime().exec("cmd /c C:\\Windows\\System32\\osk.exe");

しかし、(Javaで書かれていない別のアプリケーションの)テキストフィールドをどのように検出できますか?

4

1 に答える 1

0

それはできませんが、java.awt.Robot を使用する場合は、ユーザーが他のアプリケーションのテキストフィールドの周りにボックスを描画して座標を取得し、それをプログラムに記憶できるようにします。または、座標が常に同じ場所にある場合は、座標をハードコードすることもできます。

座標がわかったら、マウス入力をリッスンできます。したがって、mousePressed イベントがトリガーされたときに、座標がテキスト ボックス内にある場合は、オンスクリーン キーボードが表示されるようにメソッドを起動します。

これは、ユーザーが権限を持ち、アプリがネイティブのマウス入力を読み取れるようにする必要があるため、機能しない場合があります。

于 2012-04-22T10:26:44.233 に答える