2013-06-29 28 views
0

我正在使用一個按鍵監聽器和一個jtabbed窗格,每當我嘗試使用鍵盤上的左右鍵時,它只是在各個選項卡之間切換。這實際上很煩人,因爲我實際上使用其中一個選項卡中的箭頭鍵。有什麼辦法可以關閉java中的「切換選項卡」按鍵事物嗎?JTabbed窗格正在閱讀擊鍵和切換標籤

預先感謝您

KeyListen keylistener = new KeyListen(); 
    MainGUI.MainTabbedPane.addKeyListener(keylistener); 
    MainGUI.MainTabbedPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("LEFT"), "none"); 
    MainGUI.MainTabbedPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("RIGHT"), "none"); 
+0

你根本不應該使用keyListeners(它在做什麼?)而是使用自定義keyBindings – kleopatra

回答

1

是的,你必須註銷的鍵綁定,就可以讓這樣的事情

tabComponent.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("LEFT"), "none"); 
tabComponent.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("RIGHT"), "none"); 

你可能想看看這個How to use KeyBindings。建議不要使用KeyListeners而是使用KeyBindings,首先必須擁有焦點,而且除此之外,其他的鍵盤鎖都適用於所有的鍵,而鍵綁定則適用於特定的鍵。

+0

非常感謝。 – user2535456

+0

所以我的程序仍然不能在這裏工作是我的代碼。我想知道你是否可以讓我更深入瞭解爲什麼它可能無法正常工作。 (在原貼中發佈的代碼)@nachokk – user2535456

+0

@ user2535456對不起,我更新,現在它會去工作 – nachokk