2016-11-11 3 views
2

Formular mit RegisterkartenZurück von einem Formular zu einem bestimmten Tab - codenameone

Tabs tabs = new Tabs(Component.BOTTOM); 
tabs.addTab("Events", wrapContainerSingleTable); 
tabs.addTab("Business Meetings", wrapContainerSingleTableMeeting); 

Button addEventButton = new Button("Add Event "); 
FontImage.setMaterialIcon(addEventButton, FontImage.MATERIAL_ADD); 
wrapContainerSingleTable.add(FlowLayout.encloseRight(addEventButton)); 

addEventButton.addActionListener((e) -> { 
    showForm("AddEvent", null); 
}); 

Button addMeetingButton = new Button("Add Meeting "); 
FontImage.setMaterialIcon(addMeetingButton, FontImage.MATERIAL_ADD); 
wrapContainerSingleTableMeeting.add(FlowLayout.encloseRight(addMeetingButton)); 

addMeetingButton.addActionListener((e) -> { 
    showForm("AddMeeting", null); 
}); 

zurück in addEvent und addMeeting Form:

Command back = new Command("Back", backBtn) { 
    @Override 
    public void actionPerformed(ActionEvent evt) { 
     showForm("MeetingsAndEvents", this); 
    } 

}; 
back.putClientProperty("uiid", "RoundTableBack"); 
f.setBackCommand(back); 
t.addCommandToLeftBar(back); 

Was ich hier brauchen, ist, dass, wenn ich gehe von Add Event zurück Es sollte in den Tab "Ereignisse" wechseln. Wenn ich vom Tab "Hinzufügen" zurück gehe, sollte es ebenfalls auf den Tab "Besprechung" gehen. Wie kann ich das machen?

Antwort

0

Versuchen Sie, setSelectedIndex() auf Ihrer Tabs-Komponente in Ihren actionPerformed() -Methoden zu verwenden.

0

Fügen Sie diese auf Ihre Zustandsmaschine:

protected void storeComponentState(Component c, Hashtable destination) { 
    super.storeComponentState(c, destination); 
    if(c instanceof Tabs) { 
     destination.put("TabSel" + c.getName(), ((Tabs)c).getSelectedIndex()); 
    } 
} 

protected void restoreComponentState(Component c, Hashtable destination) { 
    super.restoreComponentState(c, destination); 
    if(c instanceof Tabs) { 
     Integer i = (Integer)destination.get("TabSel" + c.getName()); 
     if(i != null) { 
      ((Tabs)c).setSelectedIndex(i.intValue()); 
     } 
    } 
} 
Verwandte Themen