Take the Window as defined below and add it to an Application. If you then select a line in the table and then click on the combo box drop-down under the table, you will get the NullPointerException shown below the class.
Please advise.
Thank you!
Scott
import com.vaadin.ui.Button;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Table;
import com.vaadin.ui.Window;
public class TestWindow extends Window {
public TestWindow() {
super("test");
Table table = new Table();
addComponent(table);
table.setSelectable(true);
table.setMultiSelect(true);
table.addContainerProperty("First Name", String.class, null);
table.addContainerProperty("Last Name", String.class, null);
table.addContainerProperty("Age", Integer.class, null);
table.addContainerProperty("Details", Button.class, null);
table.addItem(new Object[] { "Nicolaus", "Copernicus", 10, new Button("1") }, 1);
table.addItem(new Object[] { "Tycho", "Brahe", 12, new Button("2") }, 2);
table.addItem(new Object[] { "Giordano", "Bruno", 8, new Button("3") }, 3);
table.addItem(new Object[] { "Galileo", "Galilei", 14, new Button("4") }, 4);
ComboBox submissions = new ComboBox();
submissions.setNewItemsAllowed(false);
submissions.setNullSelectionAllowed(false);
addComponent(submissions);
submissions.addItem("Submission 1");
submissions.addItem("Submission 2");
submissions.addItem("Submission 3");
}
}
java.lang.NullPointerException
at com.vaadin.ui.Table.getVisibleItemIds(Table.java:2760)
at com.vaadin.ui.AbstractSelect.changeVariables(AbstractSelect.java:414)
at com.vaadin.ui.Table.changeVariables(Table.java:1827)
at com.vaadin.terminal.gwt.server.CommunicationManager.handleVariables(CommunicationManager.java:738)
at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:287)
at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:425)
at com.vaadin.terminal.gwt.server.GAEApplicationServlet.service(GAEApplicationServlet.java:231)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:313)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)