/** * Switches views based on the passed enum. * * @param v the View to switch to * @param o A BattleField if switching to BattleView. */ public void changeView(Views v, Object o) { switch (v) { case PREVIOUS: CardLayout cl = (CardLayout) body.getLayout(); JPanel temp = currentPanel; panels.pop(); currentPanel = panels.peek(); cl.show(body, currentPanel.toString()); cl.removeLayoutComponent(temp); break; case BATTLE: currentPanel = new BattleView(this, (BattleField) o); panels.push(currentPanel); body.add(currentPanel, v.name()); CardLayout cl1 = (CardLayout) body.getLayout(); cl1.show(body, v.name()); for (Component c : body.getComponents()) { if (c == currentPanel) { c.requestFocusInWindow(); } } break; case TITLE: currentPanel = new TitleView(this); panels.push(currentPanel); body.add(currentPanel, v.name()); CardLayout cl2 = (CardLayout) body.getLayout(); cl2.show(body, v.name()); break; default: // Do nothing } }
/** * Remove the given panel from the card layout and refresh the display. * * @param panel Panel */ public void legendRemoved(ISELegendPanel panel) { cardLayout.removeLayoutComponent(panel.getComponent()); showDialogForCurrentlySelectedLegend(); }
public void remove(Component comp) { super.remove(comp); card.removeLayoutComponent(comp); revalidate(); }