我不明白为什么我在Button
看不到我的CardPanel
。在最后一页上看不到UI组件。也许我错过了一些东西......
我们正在使用GXT 2.3.1
import com.extjs.gxt.ui.client.widget.CardPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
public class Foobar implements EntryPoint {
@Override
public void onModuleLoad() {
CardPanel cpanel = new CardPanel();
cpanel.setActiveItem(new Button("FooButton1"));
RootPanel.get().add(cpanel);
}
}
答案 0 :(得分:2)
我从未使用过CardPanel
,但我很确定你错了。
只有在窗口小部件已添加到面板中时,才能将窗口小部件设置为“活动”。在将其设置为活动之前,您需要将add()
小部件添加到面板。
试试这个:
import com.extjs.gxt.ui.client.widget.CardPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
public class Foobar implements EntryPoint {
@Override
public void onModuleLoad() {
CardPanel cpanel = new CardPanel();
Button btn = new Button("FooButton1")
cpanel.add(btn);
cpanel.setActiveItem(btn);
RootPanel.get().add(cpanel);
}
}
答案 1 :(得分:1)
CardPanel#setActiveItem()方法用于设置布局中的活动(可见)项。
它不会在布局中添加项目。您需要使用LayoutContainer#add()
方法在布局中添加项目,并且一次只能显示一个项目。
JavaDoc中的CardPanel
状态是什么?
此容器包含多个小部件,每个小部件都适合容器,在任何给定时间只能看到单个小部件。此样式最常用于向导,标签实施等。
注意:此LayoutContainer
不适用于此示例代码。
以下是CardLayout