如何在netbeans中设置KeyPress

时间:2013-07-10 08:50:59

标签: java swing keylistener jinternalframe

有人可以帮我在当前打开的KeyPress上设置jInternalFrame操作吗?

我在jDesktopPane内有一个jframejInternalFrame内有多个DesktopPane。我正在使用Netbeans来创建这个应用程序。

jDesktopPane我有3个按钮打开3 jInternalFrame,我在这些按钮上创建了Keypress,使用此代码可以正常工作:

private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
    // TODO add your handling code here:
     if(evt.getKeyCode()==KeyEvent.VK_F3){
        frmLogistics.setVisible(true);
        frmLogistics.toFront();
    }
}                               

jInternalFrame已打开,内部有jtoolbar个按钮组,其中一个按钮用于关闭打开的jInternalFrame。我为其ActionPerform设置了代码,因此当用户点击该按钮时,框架或窗口将被关闭。

现在的问题是键盘按键怎么样?我想在内部框架中触发工具栏内的关闭按钮以关闭它

我试过这段代码:

  private void btnCloseLogisticsKeyPressed(java.awt.event.KeyEvent evt) {                                             
    // TODO add your handling code here:
    if(evt.getKeyCode()==KeyEvent.VK_F4){
         int type = JOptionPane.YES_NO_OPTION;
        int choice = JOptionPane.showConfirmDialog(this,"Do You Want to Log Out?","Exit Logistics System", type);
        if(choice == JOptionPane.YES_OPTION){
            frmLogistics.setVisible(false);
            frmLogIn.show();
            btnCashier.setEnabled(false);
            btnTrucking.setEnabled(false);
            btnAccounting.setEnabled(false);
        }
    }
}                                 

但没有任何反应。我试图将代码放在jtoolbarjInternalFrame中,但仍然没有任何反应。也许你们中的任何人都可以帮助我?

2 个答案:

答案 0 :(得分:2)

对于Swing,通常使用基于AWT的较低级别KeyListener的键绑定。有关如何使用它们的详细信息,请参阅How to Use Key Bindings

答案 1 :(得分:0)

在按键事件中点击右边的Jframe de netbeans mas naki ..

private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
    // TODO add your handling code here:

     if(evt.getKeyCode()==KeyEvent.VK_F4){
   dispose();

}