删除在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年后,人们仍然在使用这段代码。