2010-02-04 68 views
2

我有一个标签和两个面板。我想将标签添加到每个面板中,但渲染后只显示一个标签。我可以创建第二个标签,但我认为,必须可以添加两次相同的标签。这里我的代码:两次添加相同的对象

// Create labels 
Label sectorLabel = new Label("Bereich"); 

// Create panels/rows 
HorizontalPanel row1 = new HorizontalPanel(); 
HorizontalPanel row2 = new HorizontalPanel(); 

// Add content to row1 
row1.add(sectorLabel); 

// Add content to row2  
row2.add(sectorLabel); 

回答

7

您不能将相同的小部件添加到两个面板,小部件只能有一个父项。

该解决方案仅仅是创建一个具有相同内容的第二个标签。

3

当您将小部件作为子项添加到另一个小部件时,包含的类将首先执行removeFromParent操作。所以不,你不能两次添加一个小部件。

你为什么要这么做?也许这是一个正确的问题。如果您不想更新屏幕上多个位置的状态,那么您可能需要将观察者模式应用于数据,并在数据更改时更新所有观察者。

相关问题