public void actionPerformed(ActionEvent evt) { Cab2bHyperlink<JPageElement> hyperlink = (Cab2bHyperlink<JPageElement>) evt.getSource(); String hyperlinkText = hyperlink.getText(); JPageElement jPageElement = hyperlink.getUserObject(); PageElement pageElement = jPageElement.getPageElement(); /* Get the data row corresponding to the clicked element. */ Vector recordListUserObject = (Vector) pageElement.getUserObject(); DataRow dataRow = (DataRow) recordListUserObject.get(0); IRecord record = (IRecord) recordListUserObject.get(1); ViewSearchResultsSimplePanel currentPanel = (ViewSearchResultsSimplePanel) m_resultsPanel.getComponent(panelCount); /* * Refresh the breadcrumb vector, and pass that instance onto a new * instance of the breadcrumb panel. */ int currentCount = ++panelCount; m_vBreadCrumbs.add(currentCount + "#" + hyperlinkText); BreadcrumbPanel breadcrumbPanel = new BreadcrumbPanel(getBreadCrumbsAL(), m_vBreadCrumbs, this.searchPanel.viewPanel); currentBreadCrumbName = hyperlinkText; JXPanel detailsPanel = ResultPanelFactory.getSearchResultPanel( searchPanel, record, dataRow, currentPanel.getIncomingAssociationCollection(), currentPanel.getIntraModelAssociationCollection()); addBreadCrumbPanel(breadcrumbPanel, "" + currentCount); showBreadcrumbPanel("" + currentCount); addPanel(detailsPanel, "" + currentCount); showPanel("" + currentCount); }
/** Shows a panel represented by a name, by bringing that panel to the top. */ private void showPanel(String panelName) { logger.debug("panel name : " + panelName); CardLayout layout = (CardLayout) this.m_resultsPanel.getLayout(); layout.show(this.m_resultsPanel, panelName); int totalCardPanels = m_resultsPanel.getComponentCount(); /** have to add My Data list summary panel */ for (int i = 0; i < totalCardPanels; i++) { Component comp = m_resultsPanel.getComponent(i); if (true == comp.isVisible()) { if (comp instanceof ViewSearchResultsSimplePanel) { ViewSearchResultsSimplePanel showingPanel = (ViewSearchResultsSimplePanel) m_resultsPanel.getComponent(i); showingPanel.addDataSummaryPanel(); break; } else if (comp instanceof ResultObjectDetailsPanel) { ResultObjectDetailsPanel showingPanel = (ResultObjectDetailsPanel) m_resultsPanel.getComponent(i); showingPanel.addDataSummaryPanel(); break; } } } }