Как и в большинстве логик на панелях, конструктор не лучшее место. Во время создания панель (или любой другой компонент) еще не прикреплена к странице. Это оставляет компонент в хрупком состоянии, где некоторые компоненты даже не имеют разметки.
Более сложная логика должна быть размещена вне конструктора. Wicket 1.5 предлагает метод onInitialRender, который можно переопределить, где можно смело использовать любую логику. В Wicket 1.4.x есть простой способ смоделировать этот хук, реализуя onBeforeRender как
@Override
protected void onBeforeRender() {
if (!hasBeenRendered()) {
onInitialRender();
}
super.onBeforeRender();
}
, таким образом, создавая ловушку onInitialRender, которая выполняется только один раз, и IMO - лучшее место для размещения любой логики, не зависящей от других ловушек.
Редактировать: в вашем случае в предупреждении указывалось, что намеченную цепочку поисков ресурсов нельзя использовать, поскольку отсутствует иерархия компонентов, которые могут быть использованы в качестве запасных, если ресурс не найден в текущем или окончательном компоненте. уровень приложения.