Vaadin mit mehreren Kontext-Menüs

Im Versuch, erstellen Sie eine Tabelle mit Vaadin wo Sie verschiedene Optionen im Kontextmenü abhängig davon, ob Sie gewählt haben, eine einzelne Zeile oder mehrere Zeilen.

Dauerte es eine Weile, dies zu tun, aber jetzt habe ich eine funktionierende Lösung. Das problem ist, dass ist das Gefühl, dass es nicht gut Programmieren, und ich würde gerne die Beratung, wie vielleicht mein split "Funktion" in kleinere Klassen oder Funktionen. Könnte ich vielleicht helfen, ein eigenständiges Action-Klasse?. Fühlen Sie sich frei zu kommentieren und Ratschläge und bitte beachten Sie, dass ich gerade angefangen mit Vaadin =) !

          Table contactList = new Table("Test table");
 3        contactList.addListener(new Property.ValueChangeListener(){
 4            public void valueChange(ValueChangeEvent event){            
 5                Set<?> value = (Set<?>) event.getProperty().getValue();
 6                if(value == null || value.size() == 0){
 7                    getMainWindow().showNotification("NULL or 0");
 8                }else if(value.size() == 1){
 9                    contactList.removeAllActionHandlers();
10                    contactList.addActionHandler(new Action.Handler(){
11                        public Action[] getActions(Object target, Object sender){                           
12                            return ACTIONS_EDIT;                        
13                        }                        
14                        public void handleAction(Action action, Object sender, Object target){                               
15                            getMainWindow().showNotification("ACTION_EDIT");                               
16                        }
17                    });
18                }else{
19                    contactList.removeAllActionHandlers();
20                    contactList.addActionHandler(new Action.Handler(){
21                        public Action[] getActions(Object target, Object sender){                           
22                            return ACTIONS_EDIT_ALL;                        
23                        }                        
24                        public void handleAction(Action action, Object sender, Object target){                               
25                            getMainWindow().showNotification("ACTION_EDIT_ALL");                               
26                        }
27                    });       
28                }
29            }
30        });

Thx für jede Hilfe!!!
/Marthin

InformationsquelleAutor Marthin | 2011-04-01

Schreibe einen Kommentar