Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/zazof/jteg/gui/ConnectDialog.java


1   package org.zazof.jteg.gui;
2   
3   import javax.swing.*;
4   import javax.swing.border.*;
5   import java.awt.*;
6   import java.awt.event.*;
7   import org.zazof.jteg.*;
8   
9   /**
10    *  This class implements the ConnectionDialog, which allows the use to connect to a server, either as a player or observer.
11    *
12    *  @author Jef De Geeter
13    *  @author Yves Vandewoude
14    *
15    */
16  
17  
18  public class ConnectDialog extends JDialog implements WindowListener{
19  
20    public ConnectDialog(MainFrame mainFrame){
21      super(mainFrame);
22  
23      $mainFrame = mainFrame;
24      addWindowListener(this);
25      
26            Dimension dimension = new Dimension(230,200);
27      setSize(dimension);
28  
29      setVisible(true);
30      setResizable(false);
31  
32      getContentPane().setLayout(new BorderLayout());
33  
34      JPanel button_panel = new JPanel();
35      JButton ok_button = new JButton(LanguageManager.getInstance().lookup("ok"));
36  
37      ok_button.addActionListener(new ActionListener(){
38        public void actionPerformed(ActionEvent ae){
39          if (DEBUG) System.out.println("ConnectDialog: Removing ConnectionDialog");
40          GameController.getInstance().connectToServer(ConnectDialog.this.getServerName(), ConnectDialog.this.getServerPort(), ConnectDialog.this.getPlayerName(), ConnectDialog.this.getPlayerMode());
41          ConnectDialog.this.setVisible(false);
42          if ((GameController.getInstance().getPlayerMode() == 1) && (JTEGStateMachine.getInstance().getCurrentState() == JTEGStateMachine.CONNECTING))
43            {
44            JTEGStateMachine.getInstance().setCurrentState(JTEGStateMachine.CHOOSING_COLORS);
45            ConnectDialog.this.$mainFrame.showColorchooserDialog();
46            }
47        }
48      });
49      
50      JButton cancel_button = new JButton(LanguageManager.getInstance().lookup("Cancel"));
51      cancel_button.addActionListener(new ActionListener(){
52        public void actionPerformed(ActionEvent ae){
53          ConnectDialog.this.setVisible(false);
54          JTEGStateMachine.getInstance().setCurrentState(JTEGStateMachine.DISCONNECTED);
55        }
56      });
57      button_panel.add(ok_button);
58      button_panel.add(cancel_button);
59  
60      Box textfield_box = new Box(BoxLayout.Y_AXIS);
61      $serverField = new JTextField("localhost", 10);
62      $portField = new JTextField("2000", 6);
63      $nameField = new JTextField("", 10);
64      textfield_box.add($serverField);
65      textfield_box.add($portField);
66      textfield_box.add($nameField);
67  
68      Box label_box = new Box(BoxLayout.Y_AXIS);
69      label_box.add(new JLabel(LanguageManager.getInstance().lookup("servername")));
70      label_box.add(new JLabel(LanguageManager.getInstance().lookup("serverport")));
71      label_box.add(new JLabel(LanguageManager.getInstance().lookup("name")));
72      
73      Box b = new Box(BoxLayout.X_AXIS);
74      b.add(label_box);
75      b.add(textfield_box);
76    
77      // make 2 radio buttons for selecting observer or player mode
78      ButtonGroup bg = new ButtonGroup();
79      observer = new JRadioButton(LanguageManager.getInstance().lookup("observermode"), true);
80      player = new JRadioButton(LanguageManager.getInstance().lookup("playermode"), false);
81      bg.add(observer); bg.add(player);
82  
83      Box radio_box = new Box(BoxLayout.Y_AXIS);
84      radio_box.add(observer);
85      radio_box.add(player); 
86  
87      getContentPane().add(radio_box, BorderLayout.NORTH);
88      getContentPane().add(b, BorderLayout.CENTER);
89      getContentPane().add(button_panel, BorderLayout.SOUTH);
90    }
91  
92    public String getServerName(){
93      return $serverField.getText();
94    }
95  
96    public int getServerPort(){
97      return Integer.parseInt($portField.getText());
98    }
99  
100   public String getPlayerName(){
101     return $nameField.getText();
102   }
103 
104   public int getPlayerMode(){
105     int result = 0;
106     if (observer.isSelected()) result = 0;
107     if (player.isSelected()) result = 1;
108     if (DEBUG) System.out.println("Selected mode: " + result);
109     return result;
110   }
111 
112   // implementation of interface WindowListener
113   public void windowOpened(WindowEvent we){
114   }
115 
116   public void windowClosed(WindowEvent we){
117   }
118 
119   public void windowClosing(WindowEvent we){
120     System.out.println("Closing Dialog");
121     ConnectDialog.this.setVisible(false);
122     JTEGStateMachine.getInstance().setCurrentState(JTEGStateMachine.DISCONNECTED);
123   }
124 
125   public void windowIconified(WindowEvent we){
126   }
127 
128   public void windowDeiconified(WindowEvent we){
129   }
130 
131   public void windowActivated(WindowEvent we){
132   }
133 
134   public void windowDeactivated(WindowEvent we){
135   }
136 
137 
138 
139   private JTextField $serverField;
140   private JTextField $portField;
141   private JTextField $nameField;
142   private JRadioButton observer;
143   private JRadioButton player;
144   private MainFrame $mainFrame;
145 
146   private static boolean DEBUG = false;
147 
148 
149 }