无法将 selectonHandler 添加到 Gwt 中的 TabPanel

Can't add selectonHandler to TabPanel in Gwt

SelectionHandler<Widget> handler = new SelectionHandler<Widget>() {
     @Override
     public void onSelection(SelectionEvent<Widget> event) {
         TabPanel panel = (TabPanel) event.getSource();
         Widget w = event.getSelectedItem();
     }
};
TabPanel content = new TabPanel();
content.addSelectionHandler(handler);
content.add(vpanel, "Normal");

widget = new VerticalPanel();
widget.setSpacing(10);
widget.add(content);

addSelectionHandler com.google.gwt.event.logical.shared.SelectionHandler>java.lang.Integer> can not be applied to com.google.gwt.event.logical.shared.SelectionHandler

SelectionHandler 必须是 Integer 类型,而不是 Widget(参见 here)。它应该是这样的:

TabPanel panel = ...;

panel.addSelectionHandler(new SelectionHandler<Integer>()
{
    @Override
    public void onSelection(SelectionEvent<Integer> event)
    {

    }
});

TabPanel panel = ...;

SelectionHandler<Integer> handler = new SelectionHandler<Integer>()
{
    @Override
    public void onSelection(SelectionEvent<Integer> event)
    {

    }
};

panel.addSelectionHandler(handler);