2013-11-04 33 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 –