[問題] 為什麼JMenuItem的mouseClicked沒反應
畢業後當了一年兵沒碰java,最近開始要用到了,讀書時GUI一直都是我的罩門,同學說最
簡單的偏偏是我最不會的XD,回歸正題...
-----------------------------------------------------------------------------
最近我在用NetBeans寫一個視窗程式,在弄JMenuItem的mouseClick發現都沒反應,雖然我
目前可以用一個boolean變數配合mouseReleased和mouseExited來達到我需要的動作,但是
這樣感覺是一種爛方法,因為我的JMenuItem有快30個,不知道能否提供我一個比較好的處
理方法,在此謝謝大家..3q~~
以下附上單一JMenuItem用到的code:
全域變數*1:
boolean test1_Clicked_Check = true; //預設為true
Method *2:
private void test1MenuItemMouseReleased(java.awt.event.MouseEvent evt) {
if(test1_Clicked_Check) {
//mouseRelease時在目標JMenuItem內
jTextField1.setText("test1"); //用來確認狀態而已
}
else {
//mouseRelease時不在目標JMenuItem內,無動作產生並重設為true
test1_Clicked_Check = true;
}
}
private void test1MenuItemMouseExited(java.awt.event.MouseEvent evt) {
//滑鼠離開目標JMenuItem的範圍,設定為"非mouseClicked"
test1_Clicked_Check = false;
}
------------------------------------------------------------------------------
附上NetBeans的code:
test1MenuItem.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent evt) {
test1MenuItemMouseReleased(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
test1MenuItemMouseExited(evt);
}
});
仔細看才發現中間是用MouseAdapter,以前大學時純手工code時沒碰過這東西...
------------------------------------------------------------------------------
在此謝謝各位,感謝~~!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.33.196
→
11/26 15:59, , 1F
11/26 15:59, 1F
→
11/26 16:02, , 2F
11/26 16:02, 2F
→
11/26 16:10, , 3F
11/26 16:10, 3F
→
11/26 16:14, , 4F
11/26 16:14, 4F
※ 編輯: risker760915 來自: 118.170.33.196 (11/26 16:36)
→
11/26 16:37, , 5F
11/26 16:37, 5F
→
11/26 16:44, , 6F
11/26 16:44, 6F
→
11/26 16:51, , 7F
11/26 16:51, 7F
→
11/26 17:20, , 8F
11/26 17:20, 8F
→
11/26 17:22, , 9F
11/26 17:22, 9F
→
11/26 17:24, , 10F
11/26 17:24, 10F
推
11/26 17:57, , 11F
11/26 17:57, 11F
→
11/26 18:35, , 12F
11/26 18:35, 12F