0
我有一個名爲c的JComboBox,我一直保持可編輯狀態,只要在該ComboBox中按下/釋放任何鍵時,我想調用一個名爲search()的函數?我試過這個,但是這既不會調用我的函數,也不會在if()條件成立時寫入我的工作。編輯JcomboBox操作事件上發佈的鍵不工作
請讓我知道如何通過可編輯組合框從鍵盤按下某個按鍵時觸發一個動作,我使用的是netbeans。
private void cKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==KeyEvent.VK_A)
{
//DOES NOT EVEN ENTER THIS METHOD WHEN A IS PRESSED.
try
{
search(); // MY CALL TO FUNCTION
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_B)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_C)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_D)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_E)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_F)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_G)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_H)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_I)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_J)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_K)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_L)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_M)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_N)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_O)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_P)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_Q)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_R)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_S)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_T)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_U)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_V)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_W)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_X)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_Y)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_Z)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_1)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_2)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_3)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_4)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_5)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_6)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_7)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_8)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_9)
{
try
{
search();
} catch ( ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(evt.getKeyCode()==KeyEvent.VK_0)
{
try
{
search();
}
catch (ClassNotFoundException | SQLException ex)
{
Logger.getLogger(gui.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
JCommboBox使用一個編輯器,你應該考慮使用的DocumentListener而不是KeyListener的 – MadProgrammer
的,請提供更多資訊,讓您的回答清楚!我沒有意識到Document Listener。 – user3503308
'我不知道文檔監聽器' - 如果你不知道什麼是文檔監聽器,那麼做一些搜索論壇或網頁。您在收到建議後不到1分鐘就發佈該評論。你不可能在一分鐘內搜索到網頁。你甚至看過Swing教程,它有一個提供了一個工作示例的部分。您在最後一個問題中獲得了Swing教程的鏈接(http://stackoverflow.com/a/24084980/131872)。我給了你一個指南的鏈接,所以你可以用它作爲未來問題的資源。 – camickr