私のアプローチは次のとおりです。
HorizontalSplitPanel
のすべての使用法を以下に定義されているものに置き換えてHorizontalSplitPanelWrapper
から、インポートを修正します。これにより、が削除されimport HorizontalSplitPanel
て追加されimport HorizontalSplitPanelWrapper
ます。終わり。
@SuppressWarnings("deprecation")
public class HorizontalSplitPanelWrapper implements IsWidget {
private Panel hsp = new com.google.gwt.user.client.ui.HorizontalSplitPanel();
public Widget asWidget() {
return hsp;
}
public com.google.gwt.user.client.Element getElement() {
return hsp.getElement();
}
public <H extends EventHandler> HandlerRegistration addHandler(final H handler, GwtEvent.Type<H> type) {
return hsp.addHandler(handler, type);
}
public boolean isResizing() {
return ((com.google.gwt.user.client.ui.HorizontalSplitPanel) hsp).isResizing();
}
public void setWidth(String width) {
hsp.setWidth(width);
}
public void setSplitPosition(String pos) {
((com.google.gwt.user.client.ui.HorizontalSplitPanel) hsp).setSplitPosition(pos);
}
public void add(IsWidget w) {
hsp.add(w);
}
}
追記。
IsWidget
私のソリューションは、GWTからのインターフェースで少しトリックを使用します。これは、GTW APIへのほとんどの呼び出しWidget
での実装に置き換えることができるため、コードへの影響を最小限に抑えます。IsWidget
HorizontalSplitPanel
私のコードで使用されているすべてのメソッドは、フィールドごとHorizontalSplitPanelWrapper
に格納されている内部のHorizontalSplitPanelによって実装され、委任されていhsp
ます。
に関係なく、常に非推奨の警告が生成されるため、type / param/resultとしてHorizontalSplitPanelを使用するフィールドとメソッドの宣言があってはなりません@SuppressWarnings("deprecation")
。このため、hsp
フィールドはとして宣言されPanel
ます。
コードの残りの部分で使用されるHorizontalSplitPanelのメソッドが他にもある場合はHorizontalSplitPanelWrapper
、それらすべてにダミーのデリゲーターメソッドが必要です。hsp
適切なHorizontalSplitPanelオブジェクトは、そのようなすべてのメソッドで明示的にキャストされたフィールドから取得する必要があります。
それでおしまい。引き続き使用できるHorizontalSplitPanelによる非推奨の警告はなくなりました。