日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

GWT interface的使用例子

發(fā)布時(shí)間:2025/4/16 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GWT interface的使用例子 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、定義一個(gè)接口類

public interface TicketViewModuleListener {
void fieldsChanged();

void positionReceived(double latitude, double longitude);
}

?

二、定義widget類并實(shí)現(xiàn)TicketViewModuleListener接口

public class TicketViewWidget extends VOverlay implements OfflineMode,
TicketViewModuleListener {

private InformationLayout informationLayout;

@Override
public void fieldsChanged() {
if (validateFields) {
validateFields();
}
if (listener != null && isApplicationOnline()) {
listener.updateState(getTicket());
}

fieldsChanged = true;
CacheManifestStatusIndicator.setConfirmationRequired(true);
saveTicketButton.setEnabled(true);
}

private boolean isApplicationOnline() {
return OfflineModeEntrypoint.get().getNetworkStatus().isAppOnline();
}

private boolean validateFields() {
resetValidations();

boolean valid = true;
if (!informationLayout.validateFields()) {
valid = false;
}
return valid;
}

private Widget buildSectionWrapper(final Widget content,
final String captionString, final String styleName) {
VCssLayout layout = new VCssLayout();
layout.addStyleName(styleName);

Label caption = new Label(captionString);
caption.addStyleName("sectioncaption");
layout.add(caption);

layout.add(content);

return layout;
}

@Override
public void positionReceived(final double latitude, final double longitude) {
if (listener != null) {
listener.positionReceived(latitude, longitude);
}
}

}

三、定義組件類并調(diào)用接口

public class InformationLayout extends VerticalComponentGroupWidget {

?private final TicketViewModuleListener listener;

private void requestUserPosition() {
Geolocation geolocation = Geolocation.getIfSupported();
if (geolocation == null) {
useCurrentLocationSwitch.setValue(false);
} else {
geolocation
.getCurrentPosition(new Callback<com.google.gwt.geolocation.client.Position, PositionError>() {
@Override
public void onSuccess(
final com.google.gwt.geolocation.client.Position result) {
currentPosition = result;
if (listener != null) {
listener.positionReceived(result
.getCoordinates().getLatitude(), result
.getCoordinates().getLongitude());
}
}

@Override
public void onFailure(final PositionError reason) {
useCurrentLocationSwitch.setValue(false, true);
remove(useCurrentLocationSwitch);
}
});
}
}

}

四、應(yīng)用情況

widget類實(shí)現(xiàn)listener接口,并調(diào)用組件類,組件類產(chǎn)生事件后調(diào)用widget類,達(dá)到參數(shù)傳遞的目的。

轉(zhuǎn)載于:https://www.cnblogs.com/wuzg/p/9606111.html

總結(jié)

以上是生活随笔為你收集整理的GWT interface的使用例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。