如何在 Wicket 中扩展 com.googlecode.wicket.jquery.ui.widget.tabs.TabbedPanel?

How to extend com.googlecode.wicket.jquery.ui.widget.tabs.TabbedPanel in Wicket?

我想在 Apache Wicket 7.3 中创建一个添加和删除 AjaxTabs 的动态选项卡式面板。由于 AjaxTab 是一个 JQuery 扩展,我也打算使用此扩展中的 TabbedPanel。

要删除选项卡,我想将 [x] link 添加到选项卡 header 以发送选项卡上的表单以进行验证。如果表单有验证错误,将打开一个对话框。我考虑过像这样扩展 TabbedPanel:

import com.googlecode.wicket.jquery.ui.widget.tabs.TabbedPanel;
public class MyTabbedPanel extends TabbedPanel {
???

在 MyTabbedPanel.html

中使用以下标记
<wicket:panel xmlns:wicket="http://wicket.apache.org">
<div wicket:id="tabs-container" class="tab-row">
  <ul>
    <li wicket:id="tabs">
      <a wicket:id="link" href="#"><span wicket:id="title">{title}</span></a>
      <a wicket:id="closeLink" href="#" style="float:left;"
        class="ui-icon ui-icon-close ui-icon-circle-close">(x)</a>
    </li>
  </ul>
</div>
<div wicket:id="panel" class="tab-panel"><!-- no panel --></div>
</wicket:panel>

如何将 AjaxSubmitLink 添加到 Wicket-ID "closeLink"?

我必须覆盖哪些方法才能添加我的 link(以及其他一些图标或内容)?

覆盖 #newTabContainer():

@Override
protected LoopItem newTabContainer(final int tabIndex) {
  LoopItem item = super.newTabContainer(tabIndex);
  item.add(new Link<Void>("closeLink") {
    @Override
    public void onClick() {
      getTabs().remove(tabIndex);
    }
  });
  return item;
}