2013-03-12 31 views
1

我試圖在Java中使用Robot類並鍵入一些文本。不幸的是,我發現方括號的關鍵代碼有問題,這個符號是|,這個符號是`。我無法在KeyEvent常量中找到它們。我想使用它們,因爲我輸入的文字是西裏爾字母,這些符號代表字母表中的字符。提前致謝。方括號的關鍵代碼是什麼

+1

僅供參考:「|」被稱爲* pipe *和「'」 - *反向*。 – 2013-03-12 13:51:05

回答

5

它在JavaDocKeyEvent

KeyEvent.VK_OPEN_BRACKET

KeyEvent.VK_CLOSE_BRACKET

編輯

KeyEvent的JavaDoc

當按下,釋放或鍵入鍵時,此低級別事件由組件對象(例如 文本字段)生成。

所以美國101鍵鍵盤上的`會產生相同的鍵碼,雖然將有SHIFT修改。另請注意,KeyEvent.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(); 
     } 
    } 
} 
0

一般的解決辦法是致電KeyEvent.getExtendedKeyCodeForChar(int c)。如果unicode代碼點c有一個VK_常量,將返回。否則,返回「唯一整數」。

我認爲``'是KeyEvent.VK_BACK_QUOTE ...

相關問題