Vaadin: iterieren über Registerkarten in einer Registerkarte?
In Vaadin, sagen, ich habe zu finden, eine Registerkarte in einer Registerkarte basierend auf seinem Namen.
Wie kann ich die Iteration über die Registerkarten die Registerkarte, um dies zu erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Durchlaufen Sie die Registerkarten und Sie finden, indem Sie die tab-Beschriftung in folgender Weise:
tabs
Sie erwähnt haben, von welchem Typ ist es? Ich habe folgende MethodeTabSheet MyTabSheet= new TabSheet(); Iterator<Component> TabIterator = MyTabSheet.getComponentIterator();
und ich Laufe heap space Fehler.javax.servlet.ServletException: java.lang.ClassCastException: java.util.Collections$UnmodifiableCollection$1 cannot be cast to com.vaadin.ui.Component
Component MyComponent = (Component) MyTabIterator.next();
Diese bekommt von mir eine classcastexception-Fehler. Warum ist das so? Hat es funktioniert für Sie?http://vaadin.com/api/com/vaadin/ui/TabSheet.html#getComponentIterator()
TabSheet MyTabSheet = new TabSheet(); Iterator<Component> TabIterator = MainTabSheet.getComponentIterator()
; Und der nachfolgende code für die Iteration über die Tabs ist:while(TabIterator.hasNext())
In Vaadin 7.x
getComponentIterator()
ist veraltet. Also @eeq Antwort ist veraltet.In neuer Weise seine Lösung Aussehen könnte:
Aber seit der Registerkarte implementiert
java.lang.Iterable<Component>
könnte es auch so Aussehen:Oder sogar in Java 8 Stil: