2010-08-19 4 views
0

я хочу разработать FlexTable programmaticaly который выглядит следующим образом: http://uploadz.eu/images/v4z6gucp2gg8ql9pzj.pngGWT: FlexTable swaping строки с кнопкой вверх/вниз

Поскольку OnClick методы не могут получить другие параметры, то событие, а кнопки не знают " на какой строке они находятся », я не могу сказать кнопку« пожалуйста, поменяйте строку, где вы сейчас находитесь с вашим приятелем на вершине вас ». Я хотел бы знать: что это хороший способ сделать это?

ответ

0

ClickEvent s есть способ getSource() который содержит источник события, который может быть полезен.

public class NiceLabel { 
    public final Row row; 
    public NiceLabel(Row row, ClickHandler clickHandler) { 
    this.row = row; 
    addClickHandler(clickHandler); 
    } 
} 

... 
// clickHandler has the following: 
public void onClick(ClickEvent event) { 
    ((NiceLabel) event.getSource()).row.moveUp(); 
} 

И таким образом, вы можете добавить такое же ClickHandler к каждому NiceLabel без необходимости создавать новый для каждой строки.

Смежные вопросы