/** * Eventhandling des Registriere Agent ohne Visualisierungs-Button. * * @param ActionEvent e */ void m_roVButton_actionPerformed(ActionEvent e) { try { if (m_coordinator.isGameRegisteredAndOpen(m_gameId)) { m_parent.writeStatusMessage( "Registriere den Agenten " + m_agentTF.getText() + " beim Spiel " + m_coordinator.getGameName(m_gameId)); /* * Erstelle kompletten Pfad der Agentenklasse */ if (m_parameter.containsKey("ScenarioName")) { m_scenarioName = (String) m_parameter.get("ScenarioName"); System.out.println("Parameter ScenarioName vorhanden: " + m_scenarioName); } else { m_scenarioName = "island"; } String agentClass = "scenario." + m_scenarioName + "." + AGENTENORDNER + "." + (String) m_agentClassCombo.getSelectedItem(); // + ".class"; System.out.println("Agent name and location: " + agentClass); m_coordinator.registerAgent( m_gameId, m_agentTF.getText(), agentClass, m_serverTF.getText()); m_parent.writeStatusMessage( "Registrierung von Agent " + m_agentTF.getText() + " erfolgreich ausgeführt."); if ((m_gpp != null) && !m_coordinator.isGameRegisteredAndOpen(m_gameId)) m_gpp.setAgentRegisterButtonVisible(false); } else { MessageDialog md = new MessageDialog( "Agentenregistrierung", "Der Agent kann nicht registriert werden, " + "da das Spiel schon geschlossen ist."); md.show(); } } catch (Exception ex) { MessageDialog md = new MessageDialog( "Agentenregistrierung", "Der Agent konnte nicht registriert werden, " + "bitte beachten sie die Statusmeldung im Hauptfenster."); md.show(); m_parent.writeStatusMessage("Der Agent konnte nicht registriert werden."); System.out.println("Der Agent konnte nicht registriert werden."); ex.printStackTrace(System.out); } this.setVisible(false); this.dispose(); // boolean tesss=m_coordinator.isGameRegisteredAndOpen(m_gameId); m_parent.repaintApplication(); }
/** * Eventhandling des Registriere Agent mit Visualisierungs-Button. * * @param ActionEvent e */ void m_rwVAgentButton_actionPerformed(ActionEvent e) { try { /* * Check, ob Spiel überhaupt noch offen ist. */ if (m_coordinator.isGameRegisteredAndOpen(m_gameId)) { m_parent.writeStatusMessage( "Registriere den Agenten " + m_agentTF.getText() + " beim Spiel " + m_coordinator.getGameName(m_gameId)); /* * Delegate für Visualisierungskomponente erstellen */ VisualisationDelegate delegate = null; delegate = new VisualisationDelegate( m_parameter, AgentVisualisation.class, "Agent " + m_agentTF.getText()); System.out.println( "MultiagentSimulatorClient: " + " Visualisation wird versucht zu registrieren."); /* * Erstelle kompletten Pfad der Agentenklasse */ if (m_parameter.containsKey("ScenarioName")) { m_scenarioName = (String) m_parameter.get("ScenarioName"); } else { m_scenarioName = "islandParallel"; } /* * Agent und Visualisierung registrieren */ String agentClass = "scenario." + m_scenarioName + "." + AGENTENORDNER + "." + (String) m_agentClassCombo.getSelectedItem(); // + ".class"; m_coordinator.registerAgent( m_gameId, m_agentTF.getText(), agentClass, m_serverTF.getText(), delegate); /* * Visualisierung starten */ if ((m_gpp != null) && !m_coordinator.isGameRegisteredAndOpen(m_gameId)) m_gpp.setAgentRegisterButtonVisible(false); delegate.show(); } else { /* * MElde das dem User. */ MessageDialog md = new MessageDialog( "Agentenregistrierung", "Der Agent kann nicht registriert werden, " + "da das Spiel schon geschlossen ist."); md.show(); } } catch (Exception ex) { MessageDialog md = new MessageDialog( "Agentenregistrierung", "Der Agent konnte nicht registriert werden, " + "bitte beachten sie die Statusmeldung im Hauptfenster."); md.show(); m_parent.writeStatusMessage("Der Agent konnte nicht registriert werden."); System.out.println("Der Agent konnte nicht registriert werden."); ex.printStackTrace(System.out); } m_parent.writeStatusMessage( "Registrierung von Agent " + m_agentTF.getText() + " erfolgreich ausgeführt."); this.setVisible(false); this.dispose(); m_parent.repaintApplication(); }