/* * AlertPopup.java * * Created on Jan 3, 2014 */ package mekhq.gui.dialog; import java.awt.Frame; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.SwingConstants; import megamek.client.ui.Messages; import megamek.common.preference.PreferenceManager; import mekhq.campaign.Campaign; public class LaunchGameDialog extends JDialog implements ActionListener { private static final long serialVersionUID = 9094845543518155461L; public String playerName; public String serverAddr; public int port; private JLabel yourNameL; private JLabel serverAddrL; private JLabel portL; private JTextField yourNameF; private JTextField serverAddrF; private JTextField portF; private JButton okayB; private JButton cancelB; private Frame parent; private boolean server; private Campaign campaign; /** Creates new form AlertPopup */ public LaunchGameDialog(java.awt.Frame parent, boolean server, Campaign c) { super(parent, Messages.getString("MegaMek.ConnectDialog.title"), true); //$NON-NLS-1$ this.parent = parent; this.server = server; this.campaign = c; initComponents(); } public void initComponents() { yourNameL = new JLabel( Messages.getString("MegaMek.yourNameL"), SwingConstants.RIGHT); //$NON-NLS-1$ if (!server) { serverAddrL = new JLabel( Messages.getString("MegaMek.serverAddrL"), SwingConstants.RIGHT); //$NON-NLS-1$ } portL = new JLabel( Messages.getString("MegaMek.portL"), SwingConstants.RIGHT); //$NON-NLS-1$ yourNameF = new JTextField(campaign.getName(), 16); yourNameF.addActionListener(this); if (!server) { serverAddrF = new JTextField(PreferenceManager.getClientPreferences() .getLastConnectAddr(), 16); serverAddrF.addActionListener(this); } portF = new JTextField(PreferenceManager.getClientPreferences() .getLastConnectPort() + "", 4); //$NON-NLS-1$ portF.addActionListener(this); okayB = new JButton(Messages.getString("Okay")); //$NON-NLS-1$ okayB.setActionCommand("done"); //$NON-NLS-1$ okayB.addActionListener(this); okayB.setSize(80, 24); cancelB = new JButton(Messages.getString("Cancel")); //$NON-NLS-1$ cancelB.setActionCommand("cancel"); //$NON-NLS-1$ cancelB.addActionListener(this); cancelB.setSize(80, 24); GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); getContentPane().setLayout(gridbag); c.fill = GridBagConstraints.NONE; c.weightx = 0.0; c.weighty = 0.0; c.insets = new Insets(5, 5, 5, 5); c.gridwidth = 1; c.anchor = GridBagConstraints.EAST; gridbag.setConstraints(yourNameL, c); getContentPane().add(yourNameL); c.gridwidth = GridBagConstraints.REMAINDER; c.anchor = GridBagConstraints.WEST; gridbag.setConstraints(yourNameF, c); getContentPane().add(yourNameF); if (!server) { c.gridwidth = 1; c.anchor = GridBagConstraints.EAST; gridbag.setConstraints(serverAddrL, c); getContentPane().add(serverAddrL); c.gridwidth = GridBagConstraints.REMAINDER; c.anchor = GridBagConstraints.WEST; gridbag.setConstraints(serverAddrF, c); getContentPane().add(serverAddrF); } c.gridwidth = 1; c.anchor = GridBagConstraints.EAST; gridbag.setConstraints(portL, c); getContentPane().add(portL); c.gridwidth = GridBagConstraints.REMAINDER; c.anchor = GridBagConstraints.WEST; gridbag.setConstraints(portF, c); getContentPane().add(portF); c.ipadx = 20; c.ipady = 5; c.gridwidth = 1; c.anchor = GridBagConstraints.CENTER; gridbag.setConstraints(okayB, c); getContentPane().add(okayB); c.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(cancelB, c); getContentPane().add(cancelB); pack(); setResizable(false); setLocation(parent.getLocation().x + parent.getSize().width / 2 - getSize().width / 2, parent.getLocation().y + parent.getSize().height / 2 - getSize().height / 2); } @Override public void actionPerformed(ActionEvent e) { if (!"cancel".equals(e.getActionCommand())) { //$NON-NLS-1$ try { playerName = yourNameF.getText(); if (!server) { serverAddr = serverAddrF.getText(); } port = Integer.decode(portF.getText().trim()).intValue(); } catch (NumberFormatException ex) { System.err.println(ex.getMessage()); } } setVisible(false); } }