Java で Robot クラスを使用して、テキストを入力しようとしています。残念ながら、角括弧、この記号|
、およびこの記号 ` のキー コードを見つけるのに問題があります。KeyEvent 定数でそれらを見つけることができません。入力しているテキストはキリル文字であり、これらの記号はアルファベットの文字を表すため、それらを使用したいと思います。前もって感謝します。
3146 次
2 に答える
6
それはJavaDocにありますKeyEvent
KeyEvent.VK_OPEN_BRACKET
と
KeyEvent.VK_CLOSE_BRACKET
編集
KeyEvent
JavaDocから
この低レベル イベントは、キーが押された、離された、または入力されたときに、コンポーネント オブジェクト (テキスト フィールドなど) によって生成されます。
したがって、US 101 キー キーボードでは、修飾子はありますが、`と~は同じキーコードを生成します。また、 (パイプ) キーストロークもトラップすることに注意してください。~SHIFTKeyEvent.VK_BACK_SLASH
|
次のサンプルKeyAdapter
をプロジェクトに追加して、実際の動作を確認してください。
new KeyAdapter()
{
public void keyPressed(final KeyEvent e)
{
if (e.getKeyCode() == KeyEvent.VK_BACK_QUOTE)
{
e.toString();
}
if (e.getKeyCode() == KeyEvent.VK_BACK_SLASH)
{
e.toString();
}
if (e.getKeyCode() == KeyEvent.VK_OPEN_BRACKET)
{
e.toString();
}
}
}
于 2013-03-12T13:46:32.910 に答える
0
一般的な解決策は、 を呼び出すことKeyEvent.getExtendedKeyCodeForChar(int c)
です。Unicode コードポイントに返さc
れるVK_
定数がある場合。それ以外の場合は、「一意の整数」が返されます。
'`' は KeyEvent.VK_BACK_QUOTE だと思います...
于 2013-03-12T13:52:22.160 に答える