package cn.nju.game.ui; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.Rectangle; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import cn.nju.game.role.Commander; import cn.nju.game.service.OnlineCommander; public class RoleCreateFrame extends JFrame { /** * */ private static final long serialVersionUID = 7720583493700724331L; private JTextField commanderNameTextfield; private final ButtonGroup buttonGroup = new ButtonGroup(); public void showInCenter(JFrame parent) { Rectangle parentBounds = parent.getBounds(); double x = parentBounds.getCenterX() - 450 / 2.0; double y = parentBounds.getCenterY() - 300 / 2.0; // setLocation((int)x, (int)y); setBounds((int)x, (int)y, 450, 300); setVisible(true); } /** * Create the frame. */ public RoleCreateFrame() { // setBounds(100, 100, 450, 300); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); GridBagLayout gridBagLayout = new GridBagLayout(); gridBagLayout.columnWidths = new int[]{450, 0}; gridBagLayout.rowHeights = new int[]{92, 92, 92, 0}; gridBagLayout.columnWeights = new double[]{0.0, Double.MIN_VALUE}; gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, Double.MIN_VALUE}; getContentPane().setLayout(gridBagLayout); JPanel panel = new JPanel(); GridBagConstraints gbc_panel = new GridBagConstraints(); gbc_panel.fill = GridBagConstraints.BOTH; gbc_panel.insets = new Insets(0, 0, 5, 0); gbc_panel.gridx = 0; gbc_panel.gridy = 0; getContentPane().add(panel, gbc_panel); JLabel label = new JLabel("召唤师名:"); panel.add(label); commanderNameTextfield = new JTextField(); panel.add(commanderNameTextfield); commanderNameTextfield.setColumns(10); JPanel panel_1 = new JPanel(); GridBagConstraints gbc_panel_1 = new GridBagConstraints(); gbc_panel_1.fill = GridBagConstraints.BOTH; gbc_panel_1.insets = new Insets(0, 0, 5, 0); gbc_panel_1.gridx = 0; gbc_panel_1.gridy = 1; getContentPane().add(panel_1, gbc_panel_1); JRadioButton warriorRadio = new JRadioButton("战士"); buttonGroup.add(warriorRadio); warriorRadio.setSelected(true); panel_1.add(warriorRadio); JRadioButton magicianRadio = new JRadioButton("法师"); buttonGroup.add(magicianRadio); panel_1.add(magicianRadio); JPanel panel_2 = new JPanel(); GridBagConstraints gbc_panel_2 = new GridBagConstraints(); gbc_panel_2.fill = GridBagConstraints.BOTH; gbc_panel_2.gridx = 0; gbc_panel_2.gridy = 2; getContentPane().add(panel_2, gbc_panel_2); JButton button = new JButton("创建角色"); final JRadioButton finalWarriorRadio = warriorRadio; final JRadioButton finalMagicianRadio = magicianRadio; final JFrame finalFrame = this; button.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { int commanderType = 0; if (finalWarriorRadio.isSelected()) { commanderType = Commander.WARRIOR_COMMANDER; } else if (finalMagicianRadio.isSelected()) { commanderType = Commander.MAGICIAN_COMMANDER; } OnlineCommander.sharedCommanders().getPool().get(commanderNameTextfield.getText(), commanderType); finalFrame.setVisible(false); } }); panel_2.add(button); } }