위젯을 추가 할 때 탭 자체를 자동으로 설정하는 사용자 지정 TabLayoutPanel을 구현하고 싶습니다. 탭 닫기와 같은 사용자 지정 동작 포함).인수가있는 GWT UiConstructor, 클래스에는 적절한 setter 메서드가 없습니다.
CustomTabPanel.java와 함께 CustomTabPanel.ui.xml을 만들었습니다. UI 디자인은 단순히 TabLayoutPanel을 포함하며 코드 부분은 필요한 일부 기능을 제공합니다. TabLayoutPanel과 동일한 2 개의 인수를 취하는 생성자가 있는데, 일반 TabLayoutPanel과 마찬가지로 UI 디자인 모드에서 전달하려고합니다. 내가 시작하고 브라우저에서 웹 응용 프로그램을 테스트 할 때 내가 다음 다른 .ui.xml
파일 에서 사용자 지정 복합 위젯을 사용하지만이
public class CustomTabPanel extends Composite{
/* ... here all the uiBinder things
already written by my eclipse plugin */
@UiField(provided=true)
TabLayoutPanel tabPanel;
public @UiConstructor CustomTabPanel(double barHeight, Unit barUnit){
tabPanel = new TabLayoutPanl(barHeight, barUnit);
initWidget(uiBinder.creatAndBindUi(this));
}
처럼 보인다, 나는 다음과 같은 오류 얻을 :
을Class CustomTabPanel has no appropriate setBarUnit() method. Element <my:ClosableTabPanel barHeight='2' barUnit='EM' ui:field='closablepanel'>
나는 지침을 따라 http://code.google.com/intl/fr/webtoolkit/doc/latest/DevGuideUiBinder.html#Using_a_widget을 읽었습니다. 나는 뭔가를 놓친 것 같지만 그것이 무엇인지 알 수 없다.
또한 파생 된 class ExtendedTabLayoutPanel extends TabLayoutPanel{...}
을 만들고 인수를 사용하여 생성자를 구현하여 상속을 시도했습니다. 이로 인해 런타임에 다른 오류가 발생합니다.
Line xx: Type mismatch: cannot convert from TabLayoutPanel to ExtendedTabLayoutPanel
희망이 있습니다 ... 곧 읽어 보겠습니다.
모든 것이 단위와 첫 번째 인수로 잘 작동합니다. –