gpt4 book ai didi

java - 双击按键绑定(bind) Java

转载 作者:行者123 更新时间:2023-12-01 15:11:28 25 4
gpt4 key购买 nike

public void fullscreenKey(final JFrame frame)
{
k = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
getInputMap(WHEN_IN_FOCUSED_WINDOW).put(k, k.toString());
getActionMap().put(k.toString(), new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
fullscreen(!f1, frame);
f1 = !f1;
}
});
}

每当我将此方法调用到其他类时,什么也没有发生。由于 getInputMap 和 getActionMap,我无法将此方法设为静态。我用 Main main = new Main(); 调用main.fullscreenKey(frame);该方法在 Main 构造函数中调用。如何在其他类中调用此方法并使其工作?

最佳答案

不确定这是否是您想要的

public void fullscreenKey(JComponent comp, final JFrame frame)
{
k = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
comp.getInputMap(WHEN_IN_FOCUSED_WINDOW).put(k, k.toString());
comp.getActionMap().put(k.toString(), new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
fullscreen(!f1, frame);
f1 = !f1;
}
});
}

如果您正在寻找“全局”按键处理程序(即您想在应用程序中随时处理击键),您可以查看 Toolkit.addAWTEventListener ,这是非常低的级别,因此可能需要一些努力才能正常工作。

您还可以查看 KeyboardFocusManager (Java Global JFrame KeyListener)

关于java - 双击按键绑定(bind) Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12289005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com