Guice 在 UI 线程之外创建 Swing 组件有问题吗?

2023-11-27

我正在使用 Google Guice 作为 IOC 容器开发 Java Swing 应用程序。一切进展顺利。存在一些用户界面问题。当标准 L&F 替换为推送像素时,由于 Guice 的 Swing 组件在 UI 线程之外创建,因此 Substance L&F 应用程序未运行。

有没有办法告诉 Guice 在 UI 线程中创建 Swing 组件?

也许我应该创建自定义提供程序,它将在之后返回 Swing 组件SwingUtilities.invokeAndWait(Runnable)创造它们。

我不喜欢在 UI 线程中运行整个应用程序的想法,但也许这只是一个完美的解决方案。


在我看来,你不应该使用 Guice 创建组件,而应该使用服务来创建你的组件。一旦你注入了服务,就应该很容易确保组件创建发生在 EDT 上(使用invokeAndWait )

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

Guice 在 UI 线程之外创建 Swing 组件有问题吗? 的相关文章

  • Spring Security 中 Web 忽略和 Http 允许之间的区别?

    这两种方法有什么区别 Override protected void configure HttpSecurity http throws Exception http authorizeRequests antMatchers api p
  • Java - 直观地拖动摆动元素

    有没有类似的解决方案http allen sauer com com allen sauer gwt dnd demo DragDropDemo DragDropDemo html PaletteExample http allen sau
  • Spring 应用程序启动前的 Spring Boot 设置日志记录

    我有一个项目 在启动 SpringApplication 之前需要日志记录机制 我怎样才能做到这一点 我尝试设置自己的日志记录机制 LogManager getLogManager readConfiguration 但在 Spring 应
  • Java 正则表达式中 \w 和 \b 的 Unicode 等效项?

    许多现代正则表达式实现解释 w字符类简写为 任何字母 数字或连接标点符号 通常 下划线 这样 正则表达式就像 w 匹配像这样的词hello l ve GO 432 or gefr ig 不幸的是 Java 没有 在爪哇 w仅限于 A Za
  • Java SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") 给出时区作为 IST

    我有 SimpleDateFormat 构造函数作为 SimpleDateFormat yyyy MM dd T HH mm ss Z 我正在解析字符串 2013 09 29T18 46 19Z 我读到这里 Z 代表GMT UTC时区 但是
  • swing - 在 JPanel 上单击组件

    好的 我有一个带有 GridLayout 的 JPanel 网格的每个单元格都包含另一个 JPanel 我希望能够做的是在 下方 JPanel 上有一个侦听器 然后它告诉我单击了哪个 覆盖 JPanel 这样我就可以对它和周围的 JPane
  • 使用pdfbox从pdf中提取图像

    我正在尝试使用 pdfbox 从 pdf 中提取图像 示例 pdfhere http www ignou ac in upload questionpaper CS 74 PDF 但我只得到空白图像 我正在尝试的代码 public stat
  • 在 Java/Android 中查找 UTF-8 字符串中的字符数

    我试图找出字符串以 UTF 8 存储时的长度 我尝试了以下方法 String str Charset UTF8 CHARSET Charset forName UTF 8 byte abc str getBytes UTF8 CHARSET
  • 在 Graal.js 中使用 java 类

    使用 Graal js 如何将 java 类导入到 JS 脚本中 以下代码适用于 Nashorn JJS 但不适用于 Graal js 因为没有Java type 在graal中 我需要在某个时候调用truffle吗 var ArrayLi
  • Android-如何在指定时间后台下载数据

    我提前很抱歉没有发布任何代码 主要是因为我一生都无法弄清楚我需要如何做我需要做的事情 基本上 在一天中的指定时间间隔 例如下午 5 点 我希望我的应用程序从我的服务器下载一些数据并将其存储在设备上 这是为了减少每次运行应用程序时下载数据对我
  • IntelliJ IDEA:忽略代码覆盖率中的琐碎方法

    在 IntelliJ IDEA 15 0 2 中 如何在测试覆盖率测量期间忽略琐碎的 getter 和 setter 琐碎方法 should be measure public void complex fancy interesting
  • 无法使用 jolokia 从 Kafka 提取 JMX 数据

    我已经在 centos 7 机器上安装了 Jolokia 并尝试使用 Jolokia 代理提取 Kafka 指标 并使用 Nagios 插件 check jmx4perl 与 Icinga 监控工具集成 以下是我遵循的配置步骤 步骤1 下载
  • 使用 Maven 将值附加到文件中

    我想在文件末尾附加一个值 但我无法确定要使用哪个插件 例子 我要附加的值 myValue file value1 value2 myValue 追加后 我知道我可以使用 antrun plugin 来做到这一点 但是可以使用 Maven 插
  • JPanel 无法使用 setSize 和 setPreferedSize

    请解释为什么它不起作用 您也可以发布解决方案来解决此问题 非常感谢您提前 public class Run extends JFrame Fields static JPanel jpanel private int x y Constru
  • JVM 调试端口 7779 正在使用

    我正在使用 RAD 8 当我在调试模式下启动服务器时 它会显示一条错误消息 指出JVM debug port 7779 is in use 我多次遇到这个问题 因为我知道 RAD 使用了这个端口 所以我不得不停止这个过程窗口任务管理器 gt
  • 防止使用不完整类型实例化模板类

    我正在写一个库 它的布局看起来类似于 A h include
  • 设置滚动条粗细

    有没有办法调整滚动条的粗细JScrollPane 默认值有点笨拙 一个快速但又肮脏的解决方案是将宽度 高度明确设置为例如10 像素通过 jScrollPane getVerticalScrollBar setPreferredSize ne
  • 数组所有可能的组合

    我有一个字符串数组 ted williams golden voice radio 我希望这些关键字的所有可能组合采用以下形式 ted williams golden voice radio ted williams ted golden
  • Eclipse IDE - 错误:构建路径指定执行环境 Java SE 1.7

    在 Eclipse 中 我收到一个错误 构建路径指定执行环境Java SE 1 7 工作区中没有安装与此环境严格兼容的 JRE 尝试这个 In Eclipse your project gt properties gt java build
  • Struts2 中有多种结果类型?

    我有一个使用 Tiles 的 Struts2 应用程序 如何在操作映射中获取多种结果类型 因为我需要将de输出设置为JSON数据 并且同时Tiles 我努力了

随机推荐

  • Lato 字体在 IE 和 Firefox 中缺少字母

    Lato Google 托管 不确定字体 字体是怎么回事 在 IE 8 上 字体看起来很混乱 缺少字母和单词空格 而且我听说早期 不是那么早期 版本的 Firefox 也是如此 当您无法在许多浏览器上阅读字体 或托管字体时 它有什么意义 拉
  • 需要一个正则表达式来排除某些字符串

    我正在尝试获取一个匹配的正则表达式 somefile 1 txt somefile 2 txt somefile anything txt 但不匹配 somefile 16 txt I tried somefile 16 txt 运气不好
  • 要么或需要验证

    我想使用 ComponentModel DataAnnotations 验证两个属性中至少之一具有值 我的模型看起来像这样 public class FooModel public string Bar1 get set public in
  • Flutter 中的滑动视图

    我正在尝试在 flutter 中制作类似于谷歌 苹果地图屏幕的东西 我刚刚开始在 Flutter 中进行实验 我很难理解 可拖动小部件 有人可以给我他们如何制作幻灯片视图的示例代码 我可以学习吗 我找不到 还有向上滑动面板您可以使用 Flu
  • 如何无限滚动抓取网站?

    我想爬行这个网站 我写了一个蜘蛛 但它只爬首页 即前 52 项 我试过这段代码 from scrapy spider import BaseSpider from scrapy selector import HtmlXPathSelect
  • 使用facet_wrap时如何减少facet标签之间的垂直间距?

    我使用facet wrap绘制了按两个因素分组的二维面板 最小的例子 library ggplot2 ggplot mpg aes displ hwy geom point facet wrap cyl drv 每个面板顶部的标签有两行 我
  • 命令提示符和cmd有什么区别?

    我有 Windows 7 Windows 8 和 Windows 10 系统 它们的行为都很相似 当我在开始菜单中键入命令提示符并按 Enter 键时 会出现一个标题为 命令提示符 的窗口 我给了它蓝色背景和绿色文本 当我在命令行中输入 s
  • 是否可以更改 Selector xml 中 Button 的左侧可绘制部分?

    我有一个分配给按钮的左可绘制对象以及一个背景可绘制对象 我想提供一个选择器 以便当用户按下 聚焦 禁用按钮时 其外观会发生变化 我用于左侧可绘制的图像是一个红色的 x 我希望在按下或禁用按钮时将其替换为灰色 X 使用选择器可以做到这一点吗
  • Xcode 7.3:导入模块显示有删除线

    将 Xcode 升级到 7 3 后 我发现一些模块在导入时被删除 如下截图所示 But after adding the module so just pressing enter everything is fine What does
  • 蚂蚁路径风格图案

    规则是什么蚂蚁路径风格图案 令人惊讶的是 Ant 网站本身的信息却很少 蚂蚁风格的路径模式匹配spring框架 映射使用以下规则匹配 URL 匹配一个字符 匹配零个或多个字符 匹配路径中的零个或多个 目录 spring a z 匹配正则表达
  • DropDownList 不会在 SelectedIndexChanged 上回发

    我正在编写一个 ASP Net Web 表单 其中包含一些 DropDownList 控件 然后用户更改下拉列表之一中的选定项目 ASP Net 似乎不会处理 SelectedIndexChanged 事件 直到通过单击 提交 按钮提交表单
  • 有没有办法使用 GPG 密钥在 Git 中“自动签名”提交?

    有没有一种简单的方法可以让 Git 始终对创建的每个提交或标签进行签名 我尝试过类似的东西 alias commit commit S 但这并没有达到目的 我不想安装不同的程序来实现这一点 可以轻松实现吗 只是一个附带问题 也许提交不应该被
  • 如何从Python 2.7中以空格分隔的字符串中提取整数?

    我想从字符串中提取整数 其中整数由空格分隔 即 我怎么能这么做 Input I 1 15 163 132 Result 1 15 163 132 所以我写了一个像这样的函数 def getIt aStr collect i 0 while
  • Spring Hibernate Template 执行方法为 Oracle 上的计数查询返回什么对象类型?

    当针对 Oracle 数据库运行时 以下对象的运行时类型是什么春季休眠模板 Spring 2 5 和 Hibernate 3 3 2GA 代码返回其中 SQL 查询是一个计数查询 例如select count from table Stri
  • SQL 中的常量和包含文件

    是否可以在 TSQL 存储过程中包含一组 常量 值 我遇到一种情况 我使用整数字段来存储位值 并且我有一小组 常量 值 用于针对该字段插入 选择 DECLARE CostsCalculated int 32 DECLARE Aggregat
  • 使用 Mysql 检索最后插入的 id

    再会 我愿意检索 Mysql 中新插入的行的 id 值 我知道有 mysqli insert id 函数 但是 我无法指定表格 如果同时进行查询 可能会存在检索到错误 id 的风险 我正在使用 Node js MySQL 我不想冒险查询最高
  • 从 applicationContext.xml 读取环境变量

    我需要读取 web xml 中定义的环境变量
  • 静态方法中的局部变量也是静态的吗?

    我想知道如果我们在静态方法中声明它们 所有局部变量都会变成静态吗 例如 public static void A int x 3 2 changeX x for int i 0 i lt x length i System out prin
  • 如何在 Sympy 中进行函数组合?

    我想做类似的事情h f g x 并能够对 h 进行微分 例如h diff x 仅针对一个功能 例如h cos x 这实际上是可能的 并且文档说得很清楚 但对于函数组合则不太清楚 如果您已经这样做了 请向我展示一个示例或将我链接到相关文档 如
  • Guice 在 UI 线程之外创建 Swing 组件有问题吗?

    我正在使用 Google Guice 作为 IOC 容器开发 Java Swing 应用程序 一切进展顺利 存在一些用户界面问题 当标准 L F 替换为推送像素时 由于 Guice 的 Swing 组件在 UI 线程之外创建 因此 Subs