1
我有問題顯示包含例如標籤和按鈕的多個面板。我想聽按鈕點擊並顯示面板上的標籤值。 代碼看起來是這樣的:Vaadin - 多個按鈕實例 - 不同的點擊監聽器動作
for(int i=0; i < 5;i++){
Panel p = new Panel("panel "+i);
Label l = new Label("label "+ i);
p.addComponent(l);
Button show = new Button("Show Label in subWindow", new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
Window sub = new Window("testing "+label);
getMainWindow().addWindow(sub);
}
});
}
我知道,在每一個按鈕的代碼記住標籤的最後一個值。 我如何在循環中爲每個傳遞綁定特定的按鈕來顯示特定標籤的值? 我正在試圖在wicket中實現像PageableListView控件。
我希望你能理解我的問題! 謝謝!
感謝您的回答。我發現Vaadin的class Button有setData和getData方法。所以,它有可能做到button.setData(product),再次在listener中做event.getButton()。getData() – Radvd
不客氣。 AbstractComponent.setData(Object data)的解決方案不太明確,它也違反了OOP方法。調用標籤數據並將它作爲Object來按鈕是否很直接? –