【发布时间】:2017-03-07 20:48:41
【问题描述】:
我正在使用 java 创建一个记事本。似乎有一个小问题。Java 没有得到与 ENTER 键有关的条件的代码行。它理解 ctrl 和 Alt。但不输入。只是跳过那部分!我该怎么办?`
if( !e.isControlDown() && !e.isAltDown() && e.getKeyCode() != KeyEvent.VK_ENTER)
{
frame.wholeText.linesList.get(frame.cursor.j).chars.add(frame.cursor.i,c);
frame.cursor.i += 1 ;
System.out.println("Entered");
charMetric = frame.getFontMetrics( frame.getFont() ).charWidth(c) ;
frame.cursor.setX( frame.cursor.getX() + charMetric );
}`
PS:当我按 ENTER 时它不应该进入这个条件,但它会。 PS2:在代码的KeyTyped部分。
【问题讨论】:
-
那么您正在检查的是关键代码没有输入。将您的 if 状态更改为:
if( !e.isControlDown() && !e.isAltDown() && e.getKeyCode().equals(KeyEvent.VK_ENTER)) -
是的,但是当我按 Enter 时它会进入这种情况,而它不应该
-
也许可以试试
equals运算符而不是!= -
@SamOrozco,常量是
int,getKeyCode()返回一个int,所以没关系。 -
什么是“e”变量类?按键事件?