Java 如何正确关闭子面板以检测wicket中的父面板?

Java 如何正确关闭子面板以检测wicket中的父面板?,java,wicket,Java,Wicket,我在wicket中有一个页面,我有一个列表视图。从列表视图我打开一个面板。 现在这部分工作正常。我可以正确地关闭它,并能够检测页面组件。现在在面板(父面板)中,我有一个按钮,我使用该按钮打开另一个面板(子面板)。关闭子面板后,它显示无法从父面板检测组件。我想知道如何才能使父面板组件先前打开 this.showPanel = new MyAjaxButton("show_status_button", new Model<>(getString("label.show_status_b

我在wicket中有一个页面,我有一个列表视图。从列表视图我打开一个面板。 现在这部分工作正常。我可以正确地关闭它,并能够检测页面组件。现在在面板(父面板)中,我有一个按钮,我使用该按钮打开另一个面板(子面板)。关闭子面板后,它显示无法从父面板检测组件。我想知道如何才能使父面板组件先前打开

this.showPanel = new MyAjaxButton("show_status_button", new Model<>(getString("label.show_status_button")));

    this.showPanel.setCommand(new AbstractButtonCommand<Serializable>() {
        private static final long serialVersionUID = -4885881327074792340L;

        @Override
        public void submit(AjaxRequestTarget target, Form<?> form) {
            DataProvider dp = new DataProvider();
            MyBean id = dp.getId(bean);
            String contentId=modalWindow.getContentId();


            modalWindow.setContent(new ShowPanel(id));
            modalWindow.setInitialWidth(NEW_STATUS_PANEL_WIDTH);
            modalWindow.setInitialHeight(NEW_STATUS_PANEL_HEIGHT);
            modalWindow.setCloseButtonCallback(callback)

            modalWindow.setWindowClosedCallback(new WindowClosedCallback() {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClose(AjaxRequestTarget target) {
                    target.add(container);  //this panel's container
                }
            });
        modalWindow.show(target);

        }

请将准确的错误复制并粘贴到您的问题中。别忘了显示导致错误的行-我们在堆栈溢出中看不到行号。别忘了显示导致错误的行-我们在堆栈溢出中看不到行号。您的
showPanel
组件可能未添加到父容器中,也可能稍后从父容器中删除。
org.apache.wicket.request.handler.ComponentNotFoundException: Could not find component 'form:panel:content:container:show_status_button' on page 'class ps.web.MyPage.pages.DisPage
    at org.apache.wicket.request.handler.PageAndComponentProvider.getComponent(PageAndComponentProvider.java:181)
    at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getComponent(ListenerInterfaceRequestHandler.java:92)
    at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:239)
    at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
    at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
    at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
    at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
    at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
    at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:244)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)