如何在JavaFX 2应用程序中正确使用Weld?

2024-05-06

我正在尝试让 Weld 在我的 JavaFX 2 (SE) 应用程序中工作(或者我应该说 JavaFX 在 Weld 中工作?)。我有响应用户交互的控制器。现在我想将我的服务(例如数据库服务)注入到这些控制器中。

使用 Weld 这应该像以下一样简单:

@Inject
private MyService service;

现在为了初始化 Weld,有三个选项。
选项1)

public void main(@Observes ContainerInitialized event) {
    launch(); // start JavaFX
}

选项2)

public static void main(final String[] args) {
    new StartMain(args).go();
    launch(args);
}

选项3)

public static void main(final String[] args) {
    final WeldContainer weld = new Weld().initialize();
    service = weld.instance().select(MyService.class).get();
    launch(args);
}

选项 1 和 2 导致我的控制器中出现 NullPointerExceptions,因为在带注释的注入点处没有注入任何内容。只有选项 3 有效,但这并不是我真正需要的,因为我不希望该服务出现在我的主应用程序类中,而是出现在我的 JavaFX 控制器中。使用选项 3,我必须以某种方式将初始化的服务传递给我的控制器类,在这种情况下,我不需要 Weld。那么如何将服务 bean 注入 JavaFX 控制器呢?不幸的是,我没有找到有关我的问题的文档。

也许有人积累了使用 Weld 和 JavaFX 的经验,可以帮助我。

Update

我写下了我的一些努力焊接论坛 https://community.jboss.org/message/732768但不幸的是我没有得到答复。在我看来,Weld 不适用于 JavaFX。我想我必须使用好的旧设置器将我的服务插入到我的控制器中(请参阅论坛以获取解决方案)。

Update 2

我找到了一个关于 Weld 和 JavaFX 2 的博客 http://blog.matthieu.brouillard.fr/2012/08/fxml-javafx-powered-by-cdi-jboss-weld_6.html。我还没有尝试过该解决方案,但我认为它对其他程序员很有用。


None

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

如何在JavaFX 2应用程序中正确使用Weld? 的相关文章

  • Javafx 2 图表通过手绘调整大小

    我有一个在 JavaFX 2 0 中徒手绘制 XYChart 的代码 调整图表大小时遇到 问题 当我调整大小时 我遇到了徒手绘制的翻译问题 当我调整大小时 新绘图最初看起来超出了比例 但经过一点 图表移动 后 绘图它会自行修复 我该如何改进
  • 在 JavaFX 中创建行索引列

    我有一个 JavaFX TableView 我正在用 ObservableList 的任务填充它 我一直在尝试创建一个显示每行索引的列 该索引用作表中任务的 ID 但我尝试过该方法here https stackoverflow com q
  • CDI 事件观察器方法与 EJB 兼容吗?

    我有一个 Singleton EJB javax ejb Singleton 版本 叹息 它有一个 CDI 观察者方法 当我尝试将其部署到 glassfish 3 1 时 服务器无法部署 EAR 文件 没有任何真正的解释 只是说部署期间出现
  • 当 JavaFX 中选定的选项卡更改时如何聚焦特定节点?

    我想将焦点设置到选项卡内容中的特定节点 我添加了一个变化监听器 to 选定的项目属性如下 假设该类包含一个名为第二个节点类型的Node tabPane getSelectionModel selectedItemProperty addLi
  • JavaFx:在 fxml 文件中设置窗口标题

    我刚刚开始将 JavaFx 用于新应用程序 我知道如何在 java 代码中设置窗口标题 但如何在 fxml 文件中设置它 感谢您的帮助 编辑 这是我的代码 Override public void start Stage primarySt
  • javaFX 中的抖动阶段

    是否可以使用时间轴来摇动初级阶段 从而使用 XTimeline 和 YTimeLine final Timeline Xtimeline new Timeline for Animate On X Stage Xtimeline setCy
  • 获取 BorderPane 中中心空间的宽度和高度 (JavaFX 2)

    我有一个简单的BorderPane实例是我的根节点Scene 边框窗格的右侧有一个面板 带有一些 GUI 控件 包括一个按钮 当我单击此按钮时 我创建了一个类的实例 Foo 延伸StackPane我把这个实例作为边框窗格的中心节点 我想获取
  • JavaFX:在拖放过程中更改光标

    我试图在拖放过程中更改节点上的光标 但图像没有改变 我正在打电话setCursor in the DragDetectedEventHandler我的节点 我也尝试过打电话getParent setCursor 并得到相同的结果 我还尝试在
  • 限制 JavaFX TextField 的字符数会导致撤消时 IndexOutOfBounds

    我需要限制用户可以输入的字符数TextFieldJavaFX 控件 我已经延长了TextField like so public class LengthLimitedTextField extends TextField param ma
  • JavaFX 2 自动列宽

    我有一个 JavaFX 2 表 显示人们的联系方式 假设有三列 名字 姓氏和电子邮件地址 当我的应用程序启动时 它会在表中填充有关系统中已有人员的几行数据 问题是列宽都是相同的 大多数时候 名字和姓氏会完整显示 但电子邮件地址会被剪掉 用户
  • JavaFX XYChart 对数图

    我有一个 XYChart 将数据绘制为 Y 轴上的线性步骤 我想绘制为对数或半对数 Y 刻度 如何更改我的以下代码 public class BaseXYChart extends Application Override public v
  • 如何在 fxml 项目中使用 font Awesome (javafx)

    我想在我的项目中使用 font Awesome 字体 但我不知道如何在我的项目中使用 font Awesome 我找到了一些示例 但它们不能在 fxml 中使用 很棒的javafx字体 https bitbucket org Jerady
  • 如何保存 JavaFX GUI 状态?

    是否有一种现有的简单方法来持久保存 JavaFX GUI 状态 包括节点的 userData 字段的自定义 反 序列化 None
  • 在动画的 onFinished EventHandler 中使用 showAndWait 不起作用

    在JavaFx中 我想在动画结束后显示一个模式对话框 由于某种原因 在动画结束后执行的 EventHandler 中调用 showAndWait 不起作用 显示一个新窗口 但里面似乎没有绘制任何内容 这个例子说明了这个问题 public v
  • NullPointerException 加载 fxml

    我想在我的应用程序中加载 fxml 文件 我使用下一个代码 try FXMLLoader loader new FXMLLoader loader setController null loader setRoot null loader
  • 如何获取javafx imageView中显示图像的宽度/高度?

    我需要获取 imegView 中显示图像的宽度 高度 并将其与 imageView getImage getWidth getHeight 中的原始图像大小进行比较 并在用户从应用程序 GUI 中调整其大小时监听更改 I get this
  • FXML load() 期间出现 JavaFX IllegalAccessException

    我有一个由以下代码调用的对话框窗口 DialogController是使用模式对话框窗口的辅助类 它主要将控制器引用与其窗口捆绑在一起 void handleServicesEdit ActionEvent event throws IOE
  • 将两个表视图绑定在一起,以便它们同步滚动

    我想将两个表视图绑定在一起 以便它们同步滚动 我怎么做 我无法找到如何访问表格视图的滚动条 我做了一个CSS hack来将Tableview与外部滚动条绑定 一个滚动条控制两个表格视图 我的想法的概述 创建两个表视图 制作一个垂直滚动条 在
  • JavaFX 中 ImageView 的顺序转换

    我已经看过了如何在 javafx 2 1 中等待转换结束 https stackoverflow com questions 11188018 how to wait for a transition to end in javafx 2
  • 企业 Web 应用程序中的 JavaFX - 经典网页的良好替代方案?

    我们为不同的客户开发了多种 Web 应用程序 从为那些可怜的管理员提供的简单 看起来很无聊的 CRUD 风格的 GUI 到为那些互联网用户提供的奇特的 AJAX 增强型 GUI 所有这些都基于 JSF 1 2 与 JBoss Seam 2

随机推荐

  • 修改 Android 可绘制对象的颜色

    我希望能够使用相同的可绘制对象来表示两者 and 作为相同的可绘制对象 并根据某些编程值重新为可绘制对象着色 以便最终用户可以重新主题化界面 做这个的最好方式是什么 我已经尝试过 并重复使用了其中的图标 这个以前的S O 问题 https
  • SecurityApplicationGroupIdentifier 的应用程序组返回 nil

    我设置了一个应用程序组与我的 Today Extension 一起使用 我在主应用程序的目标和扩展程序的目标中添加了应用程序组 在开发人员门户的应用程序 ID 配置中 我启用了应用程序组 但由于某种原因FileManager default
  • 在 IEnumerable 上使用 Seq 函数 [重复]

    这个问题在这里已经有答案了 我正在尝试在 IEnumerable 上应用 Seq 函数 更具体地说 它是System Windows Forms HtmlElementCollection它实现了ICollection and IEnume
  • 加速度计和校准 - iPhone SDK

    我需要在 iPhone 游戏中使用加速计的功能 我只需通过倾斜设备来移动图像即可 然而 YouTube 上的大多数视频仅显示以某种方式反转的倾斜功能 而忘记包含校准 我希望用户将他们的设备校准到他们所处的任何位置 有谁知道我应该如何开始 我
  • 如何编写简单的运动跟踪代码?

    我正在制作一个带有伺服系统和彩弹枪的哨兵炮塔 需要实现实时运动跟踪以使枪射击任何移动的东西 我该如何编码 任何好的算法 书籍 教程 我想自己制作而不是使用预制的解决方案 带有卡尔曼滤波的 Lucas Kanade 是最基本的运动跟踪算法 然
  • 如何在 Vue 中动态创建的组件上获取更新的 $refs?

    我的组件数量取决于数组数量 因此当我向数组添加新项目时 它应该创建新组件 当创建新组件时 我想获得它的参考 这就是我有误解的地方 最后添加的组件是undefined当我试图得到它时 但是 如果我在一段时间后尝试获取参考 它就会起作用 我猜这
  • 添加动态复选框处理 CheckedChanged 事件 ASP.NET

    我想知道为什么事件没有触发以及如何找到哪个复选框控件触发了事件 chkList1 new CheckBox chkList1 Text row subj nme ToString chkList1 ID row subjid ToStrin
  • 如何在android中向服务器发送数据[重复]

    这个问题在这里已经有答案了 我想在我的应用程序中循环发送纬度和经度 这是使用 GPS 获取此参数的函数 private void showLocation Location location String latitude Latitude
  • C# 中的异常转换

    为什么我会得到一个InvalidCastException当尝试这样做时 throw ArgumentNullException new Exception errormessage null 这是以下函数的简化版本 public stat
  • 如何删除字符串中的所有前导零

    如果我有一个字符串 00020300504 00000234892839 000239074 我怎样才能去掉前导零 这样我就只有这个 20300504 234892839 239074 请注意 上面的数字是随机生成的 ltrim http
  • 为什么 VectorBuilder 位于 scala.collections.immutable 包中?

    VectorBuilder在同一源文件中定义为Vector Vector是不可变的并且在scala collections immutable包 因此构建器位于同一个包中 据我所知 CanBuildFrom uses a VectorBui
  • 在 C++ 中将 64 位值左移 64 位给出奇怪的结果[重复]

    这个问题在这里已经有答案了 可能的重复 64位移位问题 https stackoverflow com questions 1024968 64bit shift problem 我在 Windows 8 64 位上使用 Visual St
  • 按需require()

    假设我创建了一个库 libname其中包含一个主文件 main js以及偶尔与主对象一起使用的多个可选库文件 a js and b js 我创造index js文件包含以下内容 exports MainClass require main
  • 在 SQL 中,如何获取特定列中具有最大值的行?

    我有一个疑问 SELECT COUNT as votes a member id FROM ballots a WHERE ballot id 1 GROUP BY a member id 这会产生类似的结果 votes member id
  • void abort() 的声明抛出不同的异常

    我正在尝试写一些C 代码 使用 C API Festival并且在尝试编译时陷入困境 这是我调用的方式g g Wall pedantic I I speech tools include helloFestival C o h L fest
  • jQuery 获取属性

    我有一个 uid 属性 它的值在我的 body 标签上 document ready regFunct function regFunct alert body attr uid 但它说 未定义 有事吗 try document ready
  • 删除单元格中的重复条目 - R

    我在这里到处搜索 并尝试了重复和独特的功能来解决我要问的问题 但没有任何效果 假设我有一个名为 company 的数据框 其状态可变 当我折叠行时 我在状态变量观察之一中留下以下输出 PA PA PA TX TX 我怎样才能删除单元格内的重
  • 如何将 Ajax() 中的值获取到 Django 模板中?

    我有一个 Django 模板 它显示从数据库接收的多个值并将其传递给模板 如下所示 在views py中 def test1 requests requests get requests get requests get someQuery
  • preg_replace 内的 preg_replace

    现在我在替换已经从 preg match 中出来的字符串时遇到问题 假设我有 bbcode b bla b 我有这部分正在替换 b with b 但我们只是说出于所有测试目的 他们所做的 b hi b test b b 最终出来的是 hi
  • 如何在JavaFX 2应用程序中正确使用Weld?

    我正在尝试让 Weld 在我的 JavaFX 2 SE 应用程序中工作 或者我应该说 JavaFX 在 Weld 中工作 我有响应用户交互的控制器 现在我想将我的服务 例如数据库服务 注入到这些控制器中 使用 Weld 这应该像以下一样简单