在Java中,我检查了虚拟密钥代码列表,并且没有VK用于'<&#;;'。我试过" VK_LESS"我的程序(听起来可能是'<'),但这也不起作用。
我想知道是否必须检查是否按下Shift键,然后检查是否也按下了逗号键,但我不确定如何在KeyHandler类中执行此操作,使用keyPressed方法的switch语句。
答案 0 :(得分:2)
KeyHandler keyPressed
方法将收到KeyEvent
。您可以在isShiftDown()
上拨打KeyEvent
,查看当前是否按下了shift键。
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_COMMA && e.isShiftDown()) {
// do your thing!
}
}
您也可以尝试:
public void keyTyped(KeyEvent e) {
if (e.getKeyChar() == '<') {
...
}
}
请注意使用keyTyped
而不是keyPressed
。 keyTyped
仅在按键输出字符时触发,而不是在每次按键时触发。这种方法更有可能适用于其他类型的键盘。但是我没有尝试过,所以我不知道它是否会起作用。
答案 1 :(得分:0)
我相信您想要使用VK_LESS和VK_GREATER作为“&lt;”和“&gt;”分别。
答案 2 :(得分:0)
您可以使用KeyEvents.getKeyChar()方法
@echo off
REM get the two important lines into variables:
for /f "tokens=*" %%a in ('find "Repository Root" file.txt') do set var1=%%a
for /f "tokens=*" %%a in ('find "Relative URL" file.txt') do set var2=%%a
:loop
REM var1 - remove from the beginning until (including) the first '/':
set var1=%var1:*/=%
REM if there is another '/' then do it again:
if "%var1%" neq "%var1:/=%" goto :loop
REM kind of "brute force", isn't it?
REM var2: remove from the beginning until (including) 'branches/':
set var2=%var2:*branches/=%
REM take the first token by '/' as delimiter:
for /f "delims=/" %%a in ("%var2%") do set var2=%%a
set var