Source code: org/livingpaper/hansa/StartGameDialog.java
1 /*
2 * StartGameDialog.java
3 *
4 * Created on January 31, 2003, 3:36 PM
5 */
6
7 package org.livingpaper.hansa;
8
9 import java.util.*;
10 import java.awt.*;
11 import javax.swing.*;
12
13 /**
14 *
15 * @author mikel
16 */
17 public class StartGameDialog extends JDialog {
18
19 private GameModel mModel = null;
20 private JSlider numComputerPlayers;
21 private JTextField gameName;
22 private JComboBox playerColor;
23 private JTextField playerName;
24 private JButton okayButton;
25 private JButton cancelButton;
26 private JLabel jLabel5;
27 private JLabel playersLabel;
28 private JLabel colorLabel;
29 private JLabel cityLabel;
30 private JLabel nameLabel;
31 private ButtonGroup buttonGroup1;
32 private JRadioButton joinNetGame;
33 private JRadioButton localGame;
34 private JRadioButton createNetGame;
35 private JComboBox playerCity;
36
37 /** Creates new form StartGameDialog */
38 public StartGameDialog(java.awt.Frame parent, boolean modal, GameModel model) {
39 super(parent, modal);
40 mModel = model;
41 initComponents();
42 }
43
44 /** This method is called from within the constructor to
45 * initialize the form.
46 * WARNING: Do NOT modify this code. The content of this method is
47 * always regenerated by the Form Editor.
48 */
49 private void initComponents() {
50 buttonGroup1 = new ButtonGroup();
51 cancelButton = new JButton();
52 okayButton = new JButton();
53 nameLabel = new JLabel();
54 playerName = new JTextField();
55 cityLabel = new JLabel();
56 playerCity = new JComboBox();
57 colorLabel = new JLabel();
58 playerColor = new JComboBox();
59 ColorCellRenderer renderer = new ColorCellRenderer();
60 playerColor.setRenderer(renderer);
61 localGame = new JRadioButton();
62 createNetGame = new JRadioButton();
63 joinNetGame = new JRadioButton();
64 playersLabel = new JLabel();
65 numComputerPlayers = new JSlider();
66 jLabel5 = new JLabel();
67 gameName = new JTextField();
68
69 getContentPane().setLayout(null);
70
71 addWindowListener(new java.awt.event.WindowAdapter() {
72 public void windowClosing(java.awt.event.WindowEvent evt) {
73 closeDialog(evt);
74 }
75 });
76
77 cancelButton.setText("Cancel");
78 getContentPane().add(cancelButton);
79 cancelButton.setBounds(240, 230, 80, 24);
80 cancelButton.addActionListener(new java.awt.event.ActionListener() {
81 public void actionPerformed(java.awt.event.ActionEvent evt) {
82 cancelButtonActionPerformed(evt);
83 }
84 });
85
86 okayButton.setText("Okay");
87 getContentPane().add(okayButton);
88 okayButton.setBounds(160, 230, 80, 24);
89
90 nameLabel.setText("Player name");
91 getContentPane().add(nameLabel);
92 nameLabel.setBounds(20, 20, 120, 12);
93
94
95 getContentPane().add(playerName);
96 playerName.setBounds(120, 20, 260, 16);
97
98 cityLabel.setText("Home City (population)");
99 getContentPane().add(cityLabel);
100 cityLabel.setBounds(20, 50, 180, 24);
101
102 getContentPane().add(playerCity);
103 playerCity.setBounds(20, 70, 180, 21);
104 // Vector cities = mModel.getCities();
105 // for(int i = 0;i< cities.size();i++){
106 // City city = (City)cities.elementAt(i);
107 // playerCity.addItem(city.getName() + " (" + (Integer.toString(city.getPopulation())) + "K)");
108 // }
109
110 colorLabel.setText("Color");
111 getContentPane().add(colorLabel);
112 colorLabel.setBounds(220, 50, 64, 24);
113
114 getContentPane().add(playerColor);
115 playerColor.setBounds(220, 70, 160, 21);
116 playerColor.setForeground(Color.white);
117 playerColor.setBackground(Color.black);
118 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.red.darker(), "Dark Red"));
119 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.red, "Red"));
120 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.orange, "Orange"));
121 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.yellow, "Yellow"));
122 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.green, "Green"));
123 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.cyan, "Cyan"));
124 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.blue, "Blue"));
125 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.blue.darker(), "Dark Blue"));
126 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.magenta, "Magenta"));
127 playerColor.addItem(ColorCellRenderer.makeColoredBox(Color.magenta.darker(), "Purple"));
128
129 localGame.setSelected(true);
130 localGame.setText("Local game");
131 buttonGroup1.add(localGame);
132 getContentPane().add(localGame);
133 localGame.setBounds(20, 110, 120, 24);
134
135 createNetGame.setText("Create net game");
136 buttonGroup1.add(createNetGame);
137 getContentPane().add(createNetGame);
138 createNetGame.setBounds(20, 130, 140, 24);
139
140 joinNetGame.setText("Join net game");
141 buttonGroup1.add(joinNetGame);
142 getContentPane().add(joinNetGame);
143 joinNetGame.setBounds(20, 150, 120, 24);
144
145 playersLabel.setText("Computer players");
146 getContentPane().add(playersLabel);
147 playersLabel.setBounds(160, 160, 196, 24);
148
149 numComputerPlayers.setMajorTickSpacing(2);
150 numComputerPlayers.setPaintTicks(true);
151 numComputerPlayers.setPaintLabels(true);
152 numComputerPlayers.setMinimum(0);
153 numComputerPlayers.setMaximum(8);
154 getContentPane().add(numComputerPlayers);
155 numComputerPlayers.setBounds(170, 180, 200, 48);
156
157 jLabel5.setText("Name the game:");
158 getContentPane().add(jLabel5);
159 jLabel5.setBounds(160, 110, 180, 24);
160
161 gameName.setText("My Game");
162 getContentPane().add(gameName);
163 gameName.setBounds(160, 130, 210, 16);
164
165 pack();
166 this.setSize(480, 320);
167 this.setTitle("Set up the game");
168 }
169
170 private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {
171 setVisible(false);
172 dispose();
173 }
174
175 /** Closes the dialog */
176 private void closeDialog(java.awt.event.WindowEvent evt) {
177 setVisible(false);
178 dispose();
179 }
180
181
182 }