import com.google.gwt.user.client.Window.Location; //導入方法依賴的package包/類
private static LinkMenuItem addProjectLink(LinkMenuBar m, TopMenuItem item) {
LinkMenuItem i =
new ProjectLinkMenuItem(item.getName(), item.getUrl()) {
@Override
protected void onScreenLoad(Project.NameKey project) {
String p = panel.replace(PROJECT_NAME_MENU_VAR, URL.encodeQueryString(project.get()));
if (!panel.startsWith("/x/") && !isAbsolute(panel)) {
UrlBuilder builder = new UrlBuilder();
builder.setProtocol(Location.getProtocol());
builder.setHost(Location.getHost());
String port = Location.getPort();
if (port != null && !port.isEmpty()) {
builder.setPort(Integer.parseInt(port));
}
builder.setPath(Location.getPath());
p = builder.buildString() + p;
}
getElement().setPropertyString("href", p);
}
@Override
public void go() {
String href = getElement().getPropertyString("href");
if (href.startsWith("#")) {
super.go();
} else {
Window.open(href, getElement().getPropertyString("target"), "");
}
}
};
if (item.getTarget() != null && !item.getTarget().isEmpty()) {
i.getElement().setAttribute("target", item.getTarget());
}
if (item.getId() != null) {
i.getElement().setAttribute("id", item.getId());
}
m.addItem(i);
return i;
}