我想让组件可点击。我正在使用这种方法:https://groups.google.com/forum/#!topic/codenameone-discussions/hfVoqRwd9lI(创建一个具有自定义样式的组件,并将多按钮设置为该组件的主要组件)。 这是我的代码:
Component[] listingsToAdd = new Component[listings.size()];
for (int iter = 0; iter < listingsToAdd.length; iter++) {
MultiButton mb = new MultiButton();
final Map<String, Object> currentListing = listings.get(iter);
Container c = new Container(new BoxLayout((BoxLayout.Y_AXIS)));
String guid = (String) currentListing.get("seq").toString();
Label date = new Label((String) currentListing.get("dt"));
Label name = new Label((String) currentListing.get("name"));
Label startMt = new Label((String) currentListing.get("start_mt"));
Label place = new Label((String) currentListing.get("place"));
Label description = new Label((String) currentListing.get("description"));
c.add(date).add(name).add(startMt).add(place).add(description);
mb.addActionListener(evt
-> showScheduleDetails(searchResults, currentListing));
c.setLeadComponent(mb);
listingsToAdd[iter] = c;
}
但是,当我运行它时,容器仍然无法点击。怎么解决?
答案 0 :(得分:1)
MultiButton
已经是主要组成部分。您应该将常规Button
或任何未导出Container
的组件设置为您的潜在客户。