Файлы ресурсов с помощью Swing Application Framework - PullRequest
1 голос
/ 08 февраля 2010

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

0 голосов
/ 08 февраля 2010

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

Способ сделать это - поместить файл свойств в 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);

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

...