1

当我的应用程序中有多个包时,有人可以解释我应该如何使用资源注入吗?我似乎无法在任何其他包中加载资源,但我拥有 SingleFrameApplication 后代的包。假设这是我的应用程序结构的样子:

/resources
/main
/main/resources
/view
/view/resources

它是否正确?我试图阅读我能找到的小文档,但我无法确定是否应该将 /view/mainView.class 的资源文件放到 /resources、/main/resources 或 /view/resources。

以及如何打开资源文件?我尝试将资源文件放入 /main/resources 并打开 mainTableView 的资源文件

    this.resourceMap = org.jdesktop.application.Application.getInstance(scheator.ScheatorApp.class).getContext().getResourceMap(MainTablePanel.class);
    this.actionMap = org.jdesktop.application.Application.getInstance(scheator.ScheatorApp.class).getContext().getActionMap(MainTablePanel.class, this);

ScheatorApp 是主类(SingleFrameApplication 的后代)。属性文件有类似的行

ColRound.text = Round
ColHome.text = Home
ColAway.text = Away

但是当我尝试这个时:

    columnNames[0] = resourceMap.getString("ColRound.text");
    columnNames[1] = resourceMap.getString("ColHome.text");
    columnNames[2] = resourceMap.getString("ColAway.text");

所有列名都是空的。

而且我什至还没有尝试过资源注入......

4

1 回答 1

0

有趣的是,向他人提问有助于解决问题。

这样做的方法是将属性文件放入视图/资源并像这样打开资源映射:

    this.resourceMap = org.jdesktop.application.Application.getInstance(scheator.ScheatorApp.class).getContext().getResourceMap(MainTablePanel.class);
    this.actionMap = org.jdesktop.application.Application.getInstance(scheator.ScheatorApp.class).getContext().getActionMap(MainTablePanel.class, this);

我不知道为什么这以前不起作用,也许我以某种方式弄乱了资源文件。

于 2010-02-08T18:49:32.833 回答