Source code: org/incenter/ngbclient/systemArea.java
1
2 package org.incenter.ngbclient;
3 import org.incenter.ngbclient.*;
4 import org.incenter.gb.*;
5
6 import java.awt.*;
7 import java.awt.event.*;
8 import java.net.*;
9 import java.io.*;
10 import java.lang.*;
11 import java.util.*;
12
13 public class systemArea extends ScrollPane
14 implements MouseListener, MouseMotionListener, ActionListener, Observer, ItemListener
15 {
16 objSocket socket;
17 frmClient parent;
18 Hashtable stars;
19 governor_remote gov;
20 star_remote star;
21 plotter map;
22 Label lblXY;
23 Checkbox chkStars;
24
25 public systemArea(frmClient p, star_remote st, Dimension size) throws Exception {
26 try {
27 parent = p;
28 star = st;
29 stars = parent.getStars();
30 gov = parent.getGovernor();
31 socket = p.getSocket();
32 setSize(size);
33 setBackground(Color.gray);
34
35 Panel pnl = new Panel();
36 Panel popt = new Panel();
37 pnl.setLayout(new BorderLayout());
38 chkStars = new Checkbox("Show Star?", true);
39 chkStars.addItemListener(this);
40
41 popt.add(chkStars);
42 popt.setBackground(Color.black);
43 popt.setForeground(Color.green);
44 pnl.add(popt, "North");
45
46 map = new plotter(getPlanetMapObjects(), plotter.SYSTEM);
47 map.addMouseListener(this);
48 pnl.add(map, "Center");
49
50 add(pnl);
51 doLayout();
52 } catch(Exception e) { throw new Exception("Error in systemArea::" + e.toString()); }
53 }
54
55 public void itemStateChanged(ItemEvent evt) {
56 if(evt.getSource() == chkStars) {
57 map.setShowStar(chkStars.getState());
58 }
59 }
60
61 private Vector getPlanetMapObjects() throws Exception {
62 try {
63 Vector list = new Vector();
64 Enumeration en = star.getPlanets().elements();
65 while(en.hasMoreElements()) {
66 planet_remote pl = (planet_remote)en.nextElement();
67 list.addElement(new MapObject(gov, pl));
68 }
69 MapObject mo = new MapObject(gov, star);
70 mo.setXcoord(0);
71 mo.setYcoord(0);
72 mo.setLocation(new location(star));
73 list.addElement(mo);
74 return list;
75 } catch(Exception e) { throw new Exception("Error in systemArea.getPlanetMapObjects::" + e.toString()); }
76 }
77
78 public PopupMenu getPopup() { return parent.getPopup(); }
79
80 public void addMessage(String msg) { parent.addMessage(msg); }
81
82 public void update(Observable oB, Object arg) {;}
83
84 // mouse listener
85 public void mouseMoved(MouseEvent evt) {
86 int x = evt.getX();
87 int y = evt.getY();
88
89 }
90
91 public void mouseDragged(MouseEvent evt) {
92 ;
93 }
94
95 public void mouseClicked(MouseEvent evt) {
96 ;
97 }
98
99 public void mouseEntered(MouseEvent evt) {
100 ;
101 }
102
103 public void mouseExited(MouseEvent evt) {
104 ;
105 }
106
107 public void mousePressed(MouseEvent evt) {
108 try {
109 if((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0 ||
110 (evt.getModifiers() & InputEvent.BUTTON3_MASK) != 0) {
111 int x, y;
112 Component c = evt.getComponent();
113 Point p = c.getLocation();
114 x = evt.getX();
115 y = evt.getY();
116 c.add(parent.getPopup());
117 parent.getPopup().show(c, x, y);
118 }
119 if((evt.getModifiers() & InputEvent.BUTTON1_MASK) != 0) {
120 if(evt.getSource().equals(map)) {
121 // trying to go someplace
122 int x = evt.getX();
123 int y = evt.getY();
124 MapObject mo = map.getMapObject(x,y);
125 if(mo == null) {
126 return;
127 }
128 if(mo.getSource() instanceof star_remote) {
129 parent.showUniverse();
130 return;
131 }
132 try {
133 planet_remote pl = (planet_remote)mo.getSource();
134 parent.addMessage("Querying server for:" + pl.getName());
135 objCommand cmd = new objCommand("get");
136 cmd.addArg("planet");
137 cmd.addArg(pl.getDBName());
138 if(parent.getSocket() != null)
139 parent.getSocket().send(new netPacket(new cmdId("showPlanet"), cmd, netPacket.CLIENT));
140 else
141 parent.addMessage("universeArea.mousePressed:Not connected");
142
143 } catch(Exception e) { parent.addMessage("universeArea.mousePressed:" + e); }
144
145 }
146 }
147
148 } catch(Exception e) {
149 parent.addMessage("(Mouse)Error:" + e + ", " + evt);
150 }
151 }
152
153 public void mouseReleased(MouseEvent evt) {
154 ;
155 }
156
157 public void actionPerformed(ActionEvent evt) {
158 String cmd = evt.getActionCommand();
159 }
160
161 }