删除在JavaGUI中使用Alt-F4和Alt选项卡的可能性

删除在JavaGUI中使用Alt-F4和Alt选项卡的可能性,java,swing,user-interface,keyboard,Java,Swing,User Interface,Keyboard,可能重复: 我已经运行了一个全屏画面,我希望模拟一个信息亭环境。要做到这一点,我需要“捕获”所有在键盘上一直按下的Alt-F4和Alt-Tab。这可能吗?我的伪代码: public void keyPressed(KeyEvent e) { //get the keystrokes //stop the closing or switching of the window/application } 我不确定按键和它的关联(keyReleased和keyTyped)是

可能重复:

我已经运行了一个全屏画面,我希望模拟一个信息亭环境。要做到这一点,我需要“捕获”所有在键盘上一直按下的Alt-F4和Alt-Tab。这可能吗?我的伪代码:

public void keyPressed(KeyEvent e) {
     //get the keystrokes
     //stop the closing or switching of the window/application  
}
我不确定按键和它的关联(keyReleased和keyTyped)是否正确,因为据我所知,它们只处理单个键/字符。

要停止Alt-F4:

yourframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
要停止Alt Tab,可以使某些内容更具攻击性

public class AltTabStopper implements Runnable
{
     private boolean working = true;
     private JFrame frame;

     public AltTabStopper(JFrame frame)
     {
          this.frame = frame;
     }

     public void stop()
     {
          working = false;
     }

     public static AltTabStopper create(JFrame frame)
     {
         AltTabStopper stopper = new AltTabStopper(frame);
         new Thread(stopper, "Alt-Tab Stopper").start();
         return stopper;
     }

     public void run()
     {
         try
         {
             Robot robot = new Robot();
             while (working)
             {
                  robot.keyRelease(KeyEvent.VK_ALT);
                  robot.keyRelease(KeyEvent.VK_TAB);
                  frame.requestFocus();
                  try { Thread.sleep(10); } catch(Exception) {}
             }
         } catch (Exception e) { e.printStackTrace(); System.exit(-1); }
     }
}

如果您可以通过某些软件禁用windows键(这很常见),那么禁用alt+f4/tab功能应该没有问题该重复项是在Google搜索“Java阻止alt f4”时发现的第一个结果。在提问之前尝试搜索,因为答案可能已经在那里了。上面提到的帖子并没有回答我的问题,似乎只是真正涉及到让应用程序全屏显示。所以我问了这个问题。太好了!!谢谢,这正是我所需要的。这样就不用再使用Alt键了though@StefanReich:哈哈哈,从没想过!有趣的是,在我写这篇文章7年后,人们仍然在使用这段代码。