【发布时间】:2011-04-01 13:42:13
【问题描述】:
我正在尝试使用 Vaadin 创建一个表格,根据您选择的是单行还是多行,您在上下文菜单中有不同的选项。
我花了一段时间才做到这一点,但现在我有了一个可行的解决方案。问题是感觉它不是很好的编码实践,我很乐意接受任何关于如何将我的“函数”拆分为更小的类或函数的建议。我可以创建一个独立的 Action 类吗?随时发表评论和建议,请注意我刚开始使用 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 });
感谢您的帮助! /马丁
【问题讨论】:
标签: java contextmenu action vaadin