我有一个Swing应用程序,我希望将其从意大利面条转换为对Guice使用依赖项注入。使用Guice提供诸如配置和任务队列之类的服务的过程非常好,但是我现在是从应用程序的GUI开始的,不确定如何进行。
该应用程序基本上是JFrame
,在中带有一堆标签JTabbedPane
。每个选项卡都是一个单独的JPanel
子类,该子类列出了各种组件,并且需要服务才能在按下某些按钮时执行操作。
在当前应用程序中,这看起来像这样:
@Inject
public MainFrame(SomeService service, Executor ex, Configuration config) {
tabsPane = new JTabbedPane();
// Create the panels for each tab and add them to the tabbedpane
somePanel = new SomeTabPanel(service, ex, config);
tabsPane.addTab("Panel 1", somePanel);
someOtherPanel = new SomeOtherTabPanel(service, ex, config);
tabsPane.addTab("Panel 2", someOtherPanel);
... do more stuff
}
显然,这并不完全遵循DI的最佳实践。我不想使用@Inject
这些选项卡,因为那样会使我获得具有数十个参数的构造函数。我确实想使用Guice将所需的依赖项注入到我需要的任何选项卡对象中,而无需将所有这些依赖项传递给选项卡构造函数。
所有依赖于标签的对象是服务,我Module
知道,所以基本上所有我 想 我想要做的就是要求吉斯为所需的对象,让他们构建了我。
您能否使用Multibinding将所有选项卡绑定为Set
?如果他们实现了一些接口,使您可以获取要用于标签的名称,则可以循环添加该标签中的标签。不过,您可能需要找出一些关于排序选项卡的内容。
问题内容: 我正在开发Java Swing应用程序,但也希望将JavaFX与Swing一起使用。是否有任何资源可以告诉您如何执行此操作? 问题答案: 看这里。简而言之,现在可以将JavaFX嵌入到Swing中,并且可以通过JFXPanel支持,但是不支持其他方向。
免责声明:我对Java很陌生,但我一直在建设。NET应用程序13年。 我正在尝试构建这个Java应用程序,它可以为教程做一些基本的计算。老实说,这不是一个很大的程序,但我甚至不能把它放到
问题内容: Swing应用程序现在真的被使用吗?我找不到使用它们的地方。可以跳过AWT和Swing包吗(尽管我学到了一些基础知识)? 问题答案: 如果您是专门为Web编写的,则可以跳过Swing,否则,您肯定会碰上它。如果没有Swing GUI,我从来没有在非平凡的Java应用程序上工作过。 另外,Swing是更好使用的API之一。如果您使用大多数其他工具,则会发现它们更加难以使用和/或与平台不兼
问题内容: 我有一个传统的Java swing应用程序(扩展了JFrame并具有一个主类),该应用程序使用JFreeCharts来实现某些图表功能。我最近看过JavaFX,并认为这些图表看上去很新鲜,可以为我的用户带来更好的体验。我希望将JavaFX图表场景嵌入到jInternalFrame中(依次从我的jDesktopPane中调用它)。 我遵循了有关如何创建javafx应用程序和javafx图
问题内容: 对于这个问题,我实际上并没有太多的摆动或GUI设计方面的经验(大学中的一些WPF应用程序的水平差不多),但是我的任务是在工作中重构摆动旧式应用程序的一部分。 我被要求重构的部分围绕一个弹出窗口,该窗口可以根据特定的值对象以三种不同的格式显示。这3种不同的格式都共享一些基本字段,然后有条件地确定其他字段。负责此GUI元素的类的长度约为5k,我当时认为应该将其分为三个子类,并在基类中共享这
问题内容: 是否有隐藏光标的方法(除了使用透明图像作为光标以外)? 问题答案: 似乎该类没有开始的“空白”游标,因此可以使用该方法定义一个新的“空白”游标。 这是我尝试过的一种可行的方法: 编辑 关于结尾处没有游标的所有注释,似乎包含在中的s 最终将继承容器的游标(),因此如果要求一定要让游标出现,则必须手动设置所需的光标。 例如,如果中包含,则可以使用方法将其光标设置为系统的默认值: