Это путь:
protected void configure() {
bind(Door.class);
bind(Window.class);
bind(Roof.class);
}
Поскольку они являются конкретными классами, как говорит Гиис, вы не можете привязывать их к себе: -)
Отъезд Binder
docs, он отмечает:
bind(ServiceImpl.class);
Этот оператор практически ничего не делает; он «привязывает класс
blockquote>ServiceImpl
к себе» и не изменяет поведение по умолчанию Гиса. Вы все еще можете использовать это, если хотите, чтобы ваш классModule
служил явным манифестом для предоставляемых услуг. Кроме того, в редких случаях Guice может оказаться неспособным проверить привязку во время создания инжектора, если это явно не указано.Конкретные классы с конструктором, помеченные как
@Inject
автоматически доступны для инъекций. Но это помогает разработчику (вам) знать, что настроено в модуле.
Да, Вы ищете программу 'xwininfo'. Выполните его в другом терминале и затем нажмите на окно, о котором Вы хотите информацию, и это даст его Вам.
Hope это помогает!
$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x1200007 "xeyes"
Absolute upper-left X: 1130
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 150
Height: 100
Depth: 24
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +1130+0 -0+0 -0-924 +1130-924
-geometry 150x100-0+0