По какой-то необъяснимой для меня причине Джин не работает так, как я собираюсь. Позвольте мне объяснить с небольшим кодом.
Допустим, у меня есть форма A
@Singleton
public class formA extends Composite
private final MyGinjector ginjector;
@Inject
public formA(MyGinjector ginjector)
{
this.ginjector = ginjector;
this.add(ginjector.getFormB());
this.add(ginjector.getFormC());
}
здесь есть и formB и formC (предположим, что formB и formC имеют похожий код)
@Singleton
public class formB extends Composite
{
@Inject
public formB(MyGinjector ginjector)
{
this.ginjector = ginjector;
..............
}
}
И проблема, с которой я столкнулся, в какой-то момент, когда я внедряю formA (ginjector.getFormA () возвращает экземпляр formA, но с отсутствующими childWidgets, что означает отсутствие ссылки на formB и formC
В чем может быть проблема? все формы одноэлементные ... вероятно, я не должен вводить ginjector, как это?
Спасибо