GWT スタック パネルのようなものを作成したいのですが、GXT を使用します。AccordionLayoutContainer を見つけました。問題は、AccordionLayoutContainer を使用すると、メニュー内のすべてのパネルが折りたたまれる可能性があることです (図を参照)。
GWT スタック パネルのように、常に 1 つのパネルを開いておきたいと思います。
これが私のメニューのコードです:
public class MenuPanel extends ContentPanel implements LazyView, IsWidget {
ContentPanel detailsContentPanel;
ContentPanel actionsContentPanel;
ContentPanel logsContentPanel;
ContentPanel filesContentPanel;
ContentPanel assessmentContentPanel;
ContentPanel contactsContentPanel;
AccordionLayoutContainer menuContainer;
@Override
public void createView() {
setHeadingText("Menu");
setHeight("100%");
setWidth("100%");
menuContainer = new AccordionLayoutContainer();
menuContainer.setExpandMode(AccordionLayoutContainer.ExpandMode.SINGLE_FILL);
menuContainer.setHeight("100%");
add(menuContainer);
AccordionLayoutContainer.AccordionLayoutAppearance appearance = GWT.<AccordionLayoutContainer.AccordionLayoutAppearance>
create(AccordionLayoutContainer.AccordionLayoutAppearance.class);
detailsContentPanel = new ContentPanel(appearance);
detailsContentPanel.setAnimCollapse(false);
detailsContentPanel.setHeadingText("Details");
menuContainer.add(detailsContentPanel);
logsContentPanel = new ContentPanel(appearance);
logsContentPanel.setAnimCollapse(false);
logsContentPanel.setHeadingText("Logs");
menuContainer.add(logsContentPanel);
actionsContentPanel = new ContentPanel(appearance);
actionsContentPanel.setAnimCollapse(false);
actionsContentPanel.setHeadingText("Actions");
menuContainer.add(actionsContentPanel);
filesContentPanel = new ContentPanel(appearance);
filesContentPanel.setAnimCollapse(false);
filesContentPanel.setHeadingText("Files");
menuContainer.add(filesContentPanel);
assessmentContentPanel = new ContentPanel(appearance);
assessmentContentPanel.setAnimCollapse(false);
assessmentContentPanel.setHeadingText("Assessments");
menuContainer.add(assessmentContentPanel);
contactsContentPanel = new ContentPanel(appearance);
contactsContentPanel.setAnimCollapse(false);
contactsContentPanel.setHeadingText("Contacts");
menuContainer.add(contactsContentPanel);
}
}
このケースで私を助けてくれませんか?前もって感謝します。