2013-11-04 34 views
0

,所以我想有一个删除功能在我的处理程序:处理删除键不读

void keyPressed(int event){ 
    for(int i = 0; i < searchbars.length; i++){ 
    if(event == 127){ 
     searchbars[i].delete(); 
    } 
    else{ 
     searchbars[i].write(key); 
    } 
    } 
} 

在java中删除键由整数127我想我不完全理解的代表event选项processing's keyPressed()

我试着做了key方法如下:

void keyPressed(){ 
    for(int i = 0; i < searchbars.length; i++){ 
    if(key == DELETE){ 
     searchbars[i].delete(); 
    } 
    else{ 
     searchbars[i].write(key); 
    } 
    } 
} 

但似乎没有任何工作! 我在做什么错?

注:

searchbars是,是,可能会造成写进他们write()字符的GUI类/元素searchbars的列表,并且删除了最后一个字符时delete()被称为

+0

你试过调试它吗?在keyPressed()的开始处设置断点并检查键的值。如果你不知道如何调试,至少写一个System.out.println(key);现在,你可以看到价值。此外,你是否意味着每次按下某个键时循环遍历所有搜索栏?目前如果是删除,所有的搜索栏都会被删除,否则所有的搜索栏都会被写入。 – SpacePrez

+0

每个搜索栏都有一个布尔值,以表示它正在被使用。一次只能使用一个。 'delete()'和'write()'仅适用于正在使用的环,因此循环很好。 –

+0

但是是的,让我知道了。删除键码为8,即使它说你不应该使用键码进行删除,并且打印出一个不可读的符号,否则 –

回答

0

我不得不检查整数与keyCode

void keyPressed(){ 
    for(int i = 0; i < searchbars.length; i++){ 
    if(keyCode == 8){ 
     searchbars[i].delete(); 
    } 
    else{ 
     searchbars[i].write(key); 
    } 
    } 
} 
+1

您的原始码适用于我。是否有可能让你感到困惑用Backspace删除? –

+0

也许他正在引用macOSX'删除'键,这实际上是退格键 – TheDoctor

+0

是的我正在使用mac –