EXT-GWT Portal:如何获取所有Portlet?

时间:2009-07-27 09:35:29

标签: java gwt gxt

大家好,这是我的第一个问题!

我只是在(Ext-)GWT上迈出了第一步。我正在测试Ext-GWT库并且真的:这些绝对是伟大的! 现在我的问题: 是否可以为定义的Portal创建一种“清除门户”或“隐藏所有端口”? 或者我总是手动清除门户网站,就像上面的示例代码一样? 我的示例代码如下所示:

//define the Portal, 2 columns, each 50% auf width, with borders and Backgroundcolor
portal = new Portal(2);  
portal.setBorders(true);  
portal.setStyleAttribute("backgroundColor", "white");  
portal.setColumnWidth(0, .50);  
portal.setColumnWidth(1, .50);  

//define a Portlet for showing all Users
portletUser = new Portlet();  
portletUser.setHeading("Benutzer");  
configPanel(portletUser);  
portletUser.setLayout(new FitLayout());
CompUserList compUserList = new CompUserList();
portletUser.add(compUserList);  
portletUser.setHeight(250); 

//define a Portlet for showing all Vehicles
portletVehicles = new Portlet();  
portletVehicles.setHeading("Fahrzeuge");  
configPanel(portletVehicles);  
portletVehicles.setLayout(new FitLayout());
CompVehicleList compVehicleList = new CompVehicleList();
portletVehicles.add(compVehicleList);  
portletVehicles.setHeight(250);

//define a portlet for showing all countries
portletCountries = new Portlet();  
portletCountries.setHeading("Länder");  
configPanel(portletCountries);  
portletCountries.setLayout(new FitLayout());
CompCountryList compCountryList = new CompCountryList();
portletCountries.add(compCountryList);  
portletCountries.setHeight(250);

//add both Portlets to Portal
portal.add(portletUser, 0);
portal.add(portletVehicles, 1);

所以首先这个工作正常并且看起来很棒: - )

现在我在accordeon菜单中有一个按钮。此按钮上的监听器应隐藏门户中的所有portlet(此时为portletUser和portletVehicles),然后添加另一个portlet(例如portletCountries):

portletUser.hide();
portletVehicles.hide();
portal.add(portletCountries, 0)

再次提出问题;-) 是否可以为定义的Portal创建一种“清除门户”或“隐藏所有端口”? 或者我总是像上面的示例代码一样手动清除门户网站?

此功能的最佳做法是什么?

感谢大家的提示!

拉​​斯。

1 个答案:

答案 0 :(得分:0)

我没有使用过Ext-GWT - 但是看看Javadoc for Portal我会尝试两件事:

for (LayoutContainer c : portal.getItems()) {
    c.hide();
}

或者,更一般地说,在您自己的类中包装一个Portal,它记录Portal中的Portlet - 然后您可以获得List而不是List。