たとえば、ラベルとボタンを含む複数のパネルを表示する際に問題があります。ボタンのクリックをリッスンし、パネルからラベルの値を表示したい。コードは次のようになります。
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);
}
});
}
すべてのボタンのこのコードは、ラベルの最後の値を記憶していることを知っています。特定のラベルの値を表示するために特定のボタンをバインドするたびにループする方法を教えてください。ウィケットで PageableListView コントロールのようなものを実現しようとしています。
私の質問を理解していただければ幸いです。ありがとう!