/** Handle OK/Cancel selections */ @Override public void close(String actionCommand) { super.close(actionCommand); if (isOKorAccept(actionCommand)) { World world = clientFrame.getWorld(); // this isn't really the way to do it GamePanel gp = (GamePanel) tabPane.getComponentAt(0); GameMetadata gmd = new GameMetadata(); gp.write(gmd); world.setGameMetadata(gmd); // assume panels 1-n are all player panels for (int i = 1; i < tabPane.getTabCount(); i++) { PlayerPanel pp = (PlayerPanel) tabPane.getComponentAt(i); PlayerMetadata pmd = new PlayerMetadata(); pp.write(pmd); world.setPlayerMetadata(pp.getPower(), pmd); } // set data-changed flag clientFrame.fireStateModified(); } if (propertyListener != null) { clientFrame.removePropertyChangeListener(propertyListener); } } // close()