[問題] 同時使用 KeyListener 和 MouseListene

看板java作者 (zirconium)時間15年前 (2010/06/03 21:50), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/2 (看更多)
C1 level 應該吧 程式目標: 滑鼠點擊加上一點按鍵選擇劇情遊戲 因故事內容包含在圖檔裡面 程式只需在滑鼠點擊時能更換圖片即可碰到選擇時能使鍵盤輸入選擇 程式(劇情)架構: (依圖檔編號) 12.....1617.....2418.....3233.....end 16_1 24_1 32_1 ... ... ... 16_7 24_3 32_3 end end end 為滑鼠點擊進行 鍵盤鍵入數字鍵 1 or 2 進行 程式簡介: 使用 Jbutton 將圖檔放在上面 ┌─────────────────────────┬─┐ │ 12.. 當滑鼠點擊一下後換一張圖 (mouseClicked) │ v│ ├─────────────────────────┼─┤ │ 1617 當來到編號16的圖時 (keyPressed) │ │ │ 滑鼠點擊無效 │ │ │ 16_1 只有鍵盤選擇 1 or 2 決定程式進行方向 │ │ └─────────────────────────┴─┘ 目前難題: ┌─────────────────────────┬─┐ │ 1617 當來到編號16的圖時 (keyPressed) │ │ │ 滑鼠點擊無效 │ │ │ 16_1 只有鍵盤選擇 1 or 2 決定程式進行方向 │ │ └─────────────────────────┴─┘ 嘗試無效方法(片段) public void mouseClicked(MouseEvent evt) { i++; if(i<17) { btn1.setIcon(new ImageIcon(i+".png")); } } ............... public void keyPressed(KeyEvent evt) { int key = evt.getKeyCode(); switch(key) { case '1': if (i==16) { i++; int j = 1; j++; while(j==7) btn1.setIcon(new ImageIcon(i+"_"+j+".png")); j++; } case '2': i++; if (i==16) { btn1.setIcon(new ImageIcon(i+".png")); break; } } } 希望版上有高手能看懂我的問題並幫我解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.18.77

06/03 22:26, , 1F
用 if (自己宣告的boolean) 把整 mouseclicked 裡的東
06/03 22:26, 1F

06/03 22:27, , 2F
西 { } 起來, 然後去16還哪邊的輸入控制 bool開關
06/03 22:27, 2F

06/03 22:28, , 3F
跟i的增減
06/03 22:28, 3F

06/03 22:28, , 4F
我說的這個是個笨方法, 其他應該一定還會有更好的方法
06/03 22:28, 4F

06/03 22:32, , 5F
只有16無效的話 if(i<16||i>16){i++;} i++寫裡面
06/03 22:32, 5F

06/03 22:39, , 6F
看圖是 16, 24, 32...囧
06/03 22:39, 6F
文章代碼(AID): #1C1xCYGi (java)
文章代碼(AID): #1C1xCYGi (java)