Файлы ресурсов с помощью Swing Application Framework

Может кто-нибудь объяснить, как я должен использовать внедрение ресурсов, когда у меня есть несколько пакетов в моем приложении? Кажется, я не могу загрузить ресурсы в любой другой пакет, кроме того, в котором у меня есть потомок 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");

Все имена столбцов пусты.

И я еще даже не пробовал внедрять ресурсы...

1 ответ

Решение

Забавно, как вопрос от других помогает решать проблемы.

Способ сделать это - поместить файл свойств в view / resources и открыть карту ресурсов следующим образом:

    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);

Я понятия не имею, почему это не сработало раньше, возможно, я как-то испортил файлы ресурсов.

Другие вопросы по тегам