Source code: org/incenter/ngbclient/universeArea.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 universeArea extends ScrollPane
14 implements MouseListener, ActionListener, Observer
15 {
16 objSocket socket;
17 frmClient parent;
18 Hashtable stars;
19 governor_remote gov;
20 plotter map;
21
22 public universeArea(frmClient p, Dimension size) throws Exception {
23 try {
24 parent = p;
25 stars = parent.getStars();
26 gov = parent.getGovernor();
27 socket = p.getSocket();
28 setSize(size);
29 setBackground(Color.black);
30
31 map = new plotter(getStarMapObjects(), plotter.UNIVERSE);
32 map.addMouseListener(this);
33 add(map);
34 addMouseListener(this);
35 doLayout();
36 } catch(Exception e) { throw new Exception("Error in universeArea::" + e.toString()); }
37 }
38
39 private Vector getStarMapObjects() throws Exception {
40 try {
41 Vector list = new Vector();
42 Enumeration en = stars.elements();
43 while(en.hasMoreElements()) {
44 star_remote star = (star_remote)en.nextElement();
45 list.addElement(new MapObject(gov, star));
46 }
47 parent.addMessage("Total stars:" + stars.size());
48 return list;
49 } catch(Exception e) { throw new Exception("Error in universeArea.getStarMapObjects::" + e.toString()); }
50 }
51
52 public PopupMenu getPopup() { return parent.getPopup(); }
53
54 public void addMessage(String msg) { parent.addMessage(msg); }
55
56 public void update(Observable oB, Object arg) {;}
57
58 // mouse listener
59 public void mouseClicked(MouseEvent evt) {
60 ;
61 }
62
63 public void mouseEntered(MouseEvent evt) {
64 ;
65 }
66
67 public void mouseExited(MouseEvent evt) {
68 ;
69 }
70
71 public void mousePressed(MouseEvent evt) {
72 try {
73 if((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0 ||
74 (evt.getModifiers() & InputEvent.BUTTON3_MASK) != 0) {
75 int x, y;
76 Component c = evt.getComponent();
77 Point p = c.getLocation();
78 x = evt.getX();
79 y = evt.getY();
80 c.add(parent.getPopup());
81 parent.getPopup().show(c, x, y);
82 }
83 if((evt.getModifiers() & InputEvent.BUTTON1_MASK) != 0) {
84 if(evt.getSource().equals(map)) {
85 // trying to go someplace
86 int x = evt.getX();
87 int y = evt.getY();
88 MapObject mo = map.getMapObject(x,y);
89 if(mo == null) return;
90 try {
91 star_remote star = (star_remote)mo.getSource();
92 parent.addMessage("Querying server for:" + star.getName());
93 objCommand cmd = new objCommand("get");
94 cmd.addArg("star");
95 cmd.addArg(star.getDBName());
96 if(parent.getSocket() != null)
97 parent.getSocket().send(new netPacket(new cmdId("showStar"), cmd, netPacket.CLIENT));
98 else
99 parent.addMessage("universeArea.mousePressed:Not connected");
100
101 } catch(Exception e) { parent.addMessage("universeArea.mousePressed:" + e); }
102
103 }
104 }
105
106 } catch(Exception e) {
107 parent.addMessage("(Mouse)Error:" + e + ", " + evt);
108 }
109 }
110
111 public void mouseReleased(MouseEvent evt) {
112 ;
113 }
114 public void itemStateChanged(ItemEvent evt) {
115 ;
116 }
117
118 public void actionPerformed(ActionEvent evt) {
119 String cmd = evt.getActionCommand();
120 }
121
122 }