【问题标题】:How to make a JFrame visible only if the control button is pressed twice仅在按下控制按钮两次时如何使 JFrame 可见
【发布时间】:2012-05-11 10:39:19
【问题描述】:

我正在创建一个在后台运行的桌面应用程序,在单击控制按钮时它应该是可见的,我已经让 JFrame 的setVisible(false) 知道如何做到这一点。如果您在桌面或任何应该可以工作的应用程序中单击控制按钮两次,就会触发该应用程序。

【问题讨论】:

  • 您的意思是按下了键盘的“控制”按钮吗? (或者,控制按钮是什么?)
  • 是键盘ctrl按钮
  • 如果你的 JFrame 没有焦点,它不会响应键盘命令。
  • @GilbertLeBlanc 我认为他要求有一种方法可以在操作系统级别注册键盘侦听器。例如,Google 桌面就是这样工作的。据我所知,Java 本身并不提供此 API。也许某些库会这样做,但它可能依赖于平台。
  • @Guillaume Polet:你是对的。这是五月,全世界的 Java 学生都意识到,除非他们得到帮助,否则他们将失败。我以为我正在和另一个惊慌失措的学生打交道。

标签: java swing


【解决方案1】:

这不能在您的应用程序中完成。

如果它在后台运行,它没有焦点,所以它不能对该事件做出反应。任何其他应用程序都可能有焦点并有兴趣使用 Ctrl 按钮。

考虑多个这样的程序,所有这些程序都针对那个按钮。应该通知哪个?想想 3 位编辑,他们都在输入下一个字符。

您的操作系统或 DE 可能有一种方法来定义热键,查看您的程序是否正在运行(一次?),并向您的应用程序发送消息。然后应用程序可能会做出反应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    相关资源
    最近更新 更多