是否可以将 JFrame 置于前面但不获得焦点?

2024-01-11

我正在编写一个 Java 应用程序(Swing GUI),它会定期弹出 JFrame。

是否有可能以某种方式将窗口置于前面(foo.setAlwaysOnTop(true)会更好)但是without有焦点吗?

有些人在打字时时不时地将眼睛从屏幕上移开,看键盘,我确信如果这个窗口总是捕获键盘焦点,人们会非常恼火,因为这会导致他们失去相当多的焦点每次在不被注意的情况下弹出键盘时。

在其他情况下,即使用户实际上能够在不一直看键盘的情况下进行打字,弹出窗口并获得焦点也可能会导致弹出窗口本身执行不需要的操作(某些Tab+Enter例如,用户意外选择了一个她本来不会选择的选项)。

提前致谢!

Update

正如乔纳斯建议的那样,foo.setFocusableWindowState(false);如果在窗口渲染后调用似乎可以工作(仅在 Gnome 上测试)。

这不起作用:

foo.setFocusableWindowState(false);
foo.setVisible(true);
foo.setFocusableWindowState(true);

然而,这does:

foo.setFocusableWindowState(false);
foo.setVisible(true);
Thread.sleep(1000);
foo.setFocusableWindowState(true);

我必须看看是否有一个我可以捕捉/收听的事件可以让我做foo.setFocusableWindowStatue(true);在适当的时候。

我认为我的问题已经解决了。


这可能有效:

foo.setFocusableWindowState(false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以将 JFrame 置于前面但不获得焦点? 的相关文章

随机推荐

  • 如何在 Flutter 中获取图像的 RGB 值?

    我正在为我的对象检测服务器创建一个移动客户端 我已经有一个完美工作的 python 客户端 它将图像作为输入 通过 HTTP 请求将其发送到服务器 并接收预测作为 json 响应 我正在尝试在 Dart 中实现同样的目标 而我对 Dart
  • BigQuery 最大分区数达到 2000 而不是 2500

    根据BigQuery 文档 https cloud google com bigquery quotas partitioned tables 分区表可以有2500个分区 每个分区表的最大分区数 2 500 Yet bq query des
  • golang插件如何验证包的版本?

    我正在尝试使用 golang 插件 但在调用时总是出现运行时错误plugin Open plugin Open plugin was built with a different version of package 我确信该插件是使用相同
  • 在 Rust 中的多个函数调用中保持变量处于活动状态

    我正在尝试在 Rust 中记忆递归 collat z 序列函数 但是我需要记忆值的哈希图来在单独的函数调用中保留其内容 有没有一种优雅的方法可以在 Rust 中做到这一点 或者我是否必须在 main 中声明 hashmap 并每次将其传递给
  • 如何在 Kotlin 上绕过 NetworkOnMainThreadException

    嗨 我从 kotlin 开始 现在 Android Studio 3 0 支持它 但我不知道如何在另一个线程中执行简单的网络请求 在java中很容易 new Thread new Runnable Override public void
  • Numpy 安装工具链损坏:无法链接简单的 C 程序

    System Windows 10 Python 3 7 Numpy 1 15 1 VS 2017 我不认为这是重复的 因为以下拟议的决议已失败 对于自制软件 不适用 Numpy 安装运行时错误 工具链损坏 无法链接简单的 C 程序 htt
  • JavaScript setTimeOut 似乎没有像我预期的那样工作

    这是一个简单的 JavaScript 文件 我在 Chrome localhost 下运行 所发生的情况是 DIV 背景颜色没有设置为绿色 然后设置为红色 而是直接设置为红色 第一个 setTimeout 似乎被忽略了
  • iOS Safari/Chrome 不会向上滚动以在无线电输入上显示验证错误消息

    我正在为需要移动设备友好的客户设置一份调查问卷 当表单提交 验证并且问题未得到回答时 它会滚动到第一个无效字段 无论是文本输入还是无线电输入 这仅适用于桌面浏览器和 Android 在 iOS Safari Chrome 上 文本输入按应有
  • mat-menu 穿透“cdk 覆盖雾”

    This 堆栈闪电战 https stackblitz com edit angular txgxyt file styles css SB 显示了问题 CSS类 WHYYYYY显示了我面临的 两个 问题 为了使垫菜单在悬停时打开 我需要设
  • Linux 共享内存:shmget() 与 mmap()?

    In this https stackoverflow com questions 5656530 how to use shared memory with linux in c建议OP使用线程mmap 代替shmget 在 Linux
  • DynamoDB 1 个大表还是多个小表?

    我目前面临一些有关数据库设计的问题 目前我正在开发一个 API 它可以让用户执行以下操作 创建帐户 1 个用户拥有 1 个帐户 创建配置文件 1 个帐户拥有 1 n 个配置文件 让个人资料上传 2 种类型的项目 1 个个人资料拥有 0 n
  • 关于 c++11 中的 std::result_of

    据我所知 可能的实施std result of is template
  • 如何在 jquery 中使元素既可拖动又可调整大小?

    如何在 jquery 中使元素既可拖动又可调整大小 可拖动和可调整大小都支持链接模式 因此您可以在一行中简化代码 假设你有一个div 并且该div的id是你想要使其可拖动和可调整大小的标题 然后jquery将像这样工作 document r
  • MonoTouch:从 ALAssetsLibrary.AssetForUrl 中获取图像

    在 MonoTouch 中 我正在将相机中的图像放入相册中 ALAssetsLibrary library new ALAssetsLibrary library WriteImageToSavedPhotosAlbum photo CGI
  • 使用 ORM 时跟踪数据库字段的更改

    我想跟踪对特定表中每一列所做的更改 我考虑将更改存储在另一个包含以下列的表中 id field and data where field 字符串值 是目标表中已更改的列data是该字段的新值 在返回数据集时 我想到从目标表中检索原始数据 从
  • Laravel 阻止用户访问其他用户资源 **url

    我在 url 中传递特定资源 例如 https www example com https www example com 公司ID 在控制器中我可以通过以下方式访问资源 public function index companyID Co
  • 在flutter中刷新令牌

    我正在开发一个金融项目 Flutter 其中从后端获取身份验证令牌经常过期 我怎样才能保留token只要过期用户正在使用该应用程序 我建议您可以以简单的方式处理这些事情 例如在获取数据时 如果令牌过期 您会收到 401 未经授权的异常 您可
  • 修改 iframe.src 而不进入历史对象

    我的网页中有一个 iframe 我通过 javascript 修改 src 属性 如下所示 document getElementById myiframe src http vimeo com videoid1 document getE
  • Installshield 无提示卸载在命令行中不起作用

    我们有一个 2006 年的旧应用程序 我们想使用组策略在命令行卸载 但我无法进行静默卸载 这有效 当然我需要点击下一步来卸载 C App Setup exe uninst 但事实并非如此 我看到沙漏了几秒钟 但该应用程序并未卸载 C App
  • 是否可以将 JFrame 置于前面但不获得焦点?

    我正在编写一个 Java 应用程序 Swing GUI 它会定期弹出 JFrame 是否有可能以某种方式将窗口置于前面 foo setAlwaysOnTop true 会更好 但是without有焦点吗 有些人在打字时时不时地将眼睛从屏幕上