package games.strategy.engine.framework.networkMaintenance; import java.awt.Component; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.JLabel; import javax.swing.JOptionPane; import games.strategy.engine.framework.ui.SaveGameFileChooser; import games.strategy.net.IClientMessenger; public class ChangeToAutosaveClientAction extends AbstractAction { private static final long serialVersionUID = 1972868158345085949L; private final Component m_parent; private final IClientMessenger m_clientMessenger; private final SaveGameFileChooser.AUTOSAVE_TYPE m_typeOfAutosave; public ChangeToAutosaveClientAction(final Component parent, final IClientMessenger clientMessenger, final SaveGameFileChooser.AUTOSAVE_TYPE typeOfAutosave) { super("Change To " + typeOfAutosave.toString().toLowerCase()); m_parent = JOptionPane.getFrameForComponent(parent); m_clientMessenger = clientMessenger; m_typeOfAutosave = typeOfAutosave; } @Override public void actionPerformed(final ActionEvent e) { final int rVal = JOptionPane.showConfirmDialog(m_parent, new JLabel("Change Game To: " + m_typeOfAutosave.toString().toLowerCase()), "Change Game To: " + m_typeOfAutosave.toString().toLowerCase(), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (rVal != JOptionPane.OK_OPTION) { return; } m_clientMessenger.changeToLatestAutosave(m_typeOfAutosave); } }