/* File: AntennaControlPanel.java CVS Info: $Id: AntennaControlPanel.java,v 1.0 2000/06/07 18:00:00 laflam Exp $ Compiler: jdk 1.3 */ package demo.helicopter; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.*; // for class DecimalFormat import java.util.*; // for class Vector import mil.navy.nps.dis.*; // for class EntityStatePdu import mil.navy.nps.testing.*; // for MulticastPduSender import mil.navy.nps.util.*; import mil.navy.nps.disEnumerations.*; import mil.navy.nps.relate.*; import java.io.*; /** * Control Panel for Antennas. * *@version 1.0 *@author David W. Laflam (http://www.web3d.org/WorkingGroups/vrtp/dis-java-vrml/) * *
Location: *
Web: * http://www.web3d.org/WorkingGroups/vrtp/mil/navy/nps/dis/FirePdu.java * *
or locally: * ~/mil/navy/nps/dis/AntennaControlPanel.java * *
Hierarchy Diagram: *
* *
Summary: *
Control panel for the antennas. * *
Explanation: *
This is the control panel for the antennas, * it will eventually be a tabbed pane, but for now it controls just one antenna at a time. * *

* *

History: *
15May2000 /Dave Laflam /New * *
References: * * *
Note: *
No accessor methods to nested records is provided. * *@see ProtocolDataUnit *@see ActionListener *@see AdjustmentListener */ public class AntennaControlPanel extends JFrame implements AdjustmentListener, ActionListener, Runnable { JPanel jPanel1 = new JPanel(); JPanel jPanel2 = new JPanel(); JPanel jPanel3 = new JPanel(); JButton higherAngleButton = new JButton(); JButton stopRotationButton = new JButton(); JButton lowerAngleButton = new JButton(); JButton turnLeftButton = new JButton(); JButton turnRightButton = new JButton(); JButton zeroAngleButton = new JButton(); JButton newAntennaButton = new JButton(); JTextField headingTextField = new JTextField(); JScrollBar speedScroll = new JScrollBar(); JTextField speedTextField = new JTextField(); JScrollBar turnScroll = new JScrollBar(); JTextField turnTextField = new JTextField(); JLabel headingLabel = new JLabel(); JLabel speedLabel = new JLabel(); JLabel turnRateLabel = new JLabel(); JLabel speedControlLabel = new JLabel(); JLabel turnRateControlLabel = new JLabel(); JLabel zeroTurnLabel = new JLabel(); JLabel plusFiftyTurnLabel = new JLabel(); JLabel negFiftyTurnLabel = new JLabel(); JLabel zeroSpeedLabel = new JLabel(); JLabel fiveSpeedLabel = new JLabel(); JLabel tenSpeedLabel = new JLabel(); JButton reverseButton = new JButton(); JButton forwardButton = new JButton(); JButton rangeButton = new JButton(); JButton azimuthButton = new JButton(); JTextField rangeTextField = new JTextField(); JTextField azimuthTextField = new JTextField(); JLabel maxRangeLabel = new JLabel(); JLabel currentAzmuthLabel = new JLabel(); JTextField antennaAngleTextField = new JTextField(); JLabel antennaAngleLabel = new JLabel(); JPanel jPanel4 = new JPanel(); private static int turnPosition = 0; // each of the scroll bars private static int speedPosition = 0; private static boolean leftAntennaTurnState; // 0 = not turning; 1 = turning private static boolean rightAntennaTurnState; // 0 = not turning; 1 = turning private static boolean forwardState; private static boolean reverseState; private static boolean upGunState; private static boolean downGunState; private static int mhainAmmo; private static int mgAmmo; private AntennaActionInterpreter antai; JCheckBox transmitterPduCheckBox = new JCheckBox(); JCheckBox receiverPduCheckBox = new JCheckBox(); JCheckBox signalPduCheckBox = new JCheckBox(); JButton transmitterButton = new JButton(); JButton printButton = new JButton(); private static TransmitterPdu transmitter; //variables for the action intrepreter private String ipAddr; private int portNum, timeToLive; private short siteNum, appNum; private Antenna myAntenna; private boolean rtpHeaderEnabled; //Construct the frame //============================================================================================= // Constructor //============================================================================================= public AntennaControlPanel(String pIpAddr, int pPortNum, int pTimeToLive, short pSiteNum, short pAppNum, Antenna pAntenna, boolean pRtpHeaderEnabled ) { System.out.println("In Antenna Control Panel constructor"); // make me DIS this is the place to read the file (Join Button) // antai = new AntennaActionInterpreter(ipAddr, portNum, timeToLive, siteNum, // appNum, pAntenna, rtpHeaderEnabled, // this); ipAddr = pIpAddr; portNum = pPortNum; timeToLive = pTimeToLive; siteNum = pSiteNum; appNum = pAppNum; myAntenna = pAntenna; rtpHeaderEnabled = pRtpHeaderEnabled; transmitter = new TransmitterPdu(); enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch (Exception e) { e.printStackTrace(); } leftAntennaTurnState = false; rightAntennaTurnState = false; forwardState = true; reverseState = false; mhainAmmo = 40; mgAmmo = 30; // antai.start(); //start antena action interpeter dwl change this } //Component initialization private void jbInit() throws Exception { this.getContentPane().setLayout(null); this.setSize(new Dimension(802, 174)); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((screenSize.width - 765) / 2, (screenSize.height - 175)); this.setVisible(true); this.setBackground(Color.black); this.setForeground(Color.black); this.setFont(new Font("Courier", 1, 12)); String frameTitle = new String(myAntenna.getDescription() + " antenna, ID num " + myAntenna.getSite()); jPanel1.setLayout(null); jPanel1.setBackground(new Color(150, 150, 150)); jPanel1.setFont(new Font("Serif", 0, 10)); jPanel1.setBounds(new Rectangle(0, 0, 370, 150)); jPanel2.setBackground(new Color(212, 131, 81)); jPanel2.setLayout(null); jPanel2.setBounds(new Rectangle(370, 0, 20, 150)); jPanel3.setBackground(new Color(153, 153, 153)); jPanel3.setLayout(null); jPanel3.setBounds(new Rectangle(388, 0, 410, 150)); higherAngleButton.setText("Higher Angle"); higherAngleButton.setBounds(new Rectangle(6, 93, 100, 23)); higherAngleButton.setFont(new Font("SansSerif", 1, 10)); higherAngleButton.setMaximumSize(new Dimension(85, 25)); higherAngleButton.setMinimumSize(new Dimension(85, 25)); higherAngleButton.setPreferredSize(new Dimension(101, 22)); higherAngleButton.addActionListener(this); stopRotationButton.setText("Stop Rotation"); stopRotationButton.setBounds(new Rectangle(119, 67, 102, 23)); stopRotationButton.setFont(new Font("SansSerif", 1, 10)); stopRotationButton.setMaximumSize(new Dimension(85, 25)); stopRotationButton.setMinimumSize(new Dimension(85, 25)); stopRotationButton.setPreferredSize(new Dimension(101, 22)); stopRotationButton.addActionListener(this); lowerAngleButton.setText("Lower Angle"); lowerAngleButton.setBounds(new Rectangle(7, 120, 101, 22)); lowerAngleButton.setFont(new Font("SansSerif", 1, 10)); lowerAngleButton.setMaximumSize(new Dimension(85, 25)); lowerAngleButton.setMinimumSize(new Dimension(85, 25)); lowerAngleButton.setPreferredSize(new Dimension(85, 25)); lowerAngleButton.addActionListener(this); turnLeftButton.setText("Turn Left"); turnLeftButton.setBounds(new Rectangle(119, 120, 102, 21)); turnLeftButton.setFont(new Font("SansSerif", 1, 10)); turnLeftButton.setMaximumSize(new Dimension(85, 25)); turnLeftButton.setMinimumSize(new Dimension(85, 25)); turnLeftButton.setPreferredSize(new Dimension(101, 22)); turnLeftButton.addActionListener(this); turnRightButton.setText("Turn Right"); turnRightButton.setBounds(new Rectangle(117, 94, 103, 22)); turnRightButton.setFont(new Font("SansSerif", 1, 10)); turnRightButton.setMaximumSize(new Dimension(85, 25)); turnRightButton.setMinimumSize(new Dimension(85, 25)); turnRightButton.setPreferredSize(new Dimension(101, 22)); turnRightButton.addActionListener(this); zeroAngleButton.setText("Zero Angle"); zeroAngleButton.setBounds(new Rectangle(6, 67, 101, 22)); zeroAngleButton.setFont(new Font("SansSerif", 1, 10)); zeroAngleButton.setMaximumSize(new Dimension(85, 25)); zeroAngleButton.setMinimumSize(new Dimension(85, 25)); zeroAngleButton.setPreferredSize(new Dimension(85, 25)); zeroAngleButton.addActionListener(this); newAntennaButton.setText("New Antenna"); newAntennaButton.setBounds(new Rectangle(7, 38, 101, 26)); newAntennaButton.setFont(new Font("SansSerif", 1, 9)); newAntennaButton.setMaximumSize(new Dimension(85, 25)); newAntennaButton.setMinimumSize(new Dimension(85, 25)); newAntennaButton.setPreferredSize(new Dimension(101, 22)); newAntennaButton.addActionListener(this); headingTextField.setHorizontalAlignment(JTextField.CENTER); headingTextField.setEditable(false); headingTextField.setText("0"); headingTextField.setBounds(new Rectangle(170, 1, 35, 20)); speedScroll.setVisibleAmount(5); speedScroll.setMaximum(15); speedScroll.setFont(new Font("SansSerif", 1, 10)); speedScroll.setOrientation(JScrollBar.HORIZONTAL); speedScroll.setBounds(new Rectangle(1, 50, 154, 20)); speedScroll.addAdjustmentListener(this); speedTextField.setHorizontalAlignment(JTextField.CENTER); speedTextField.setText("0"); speedTextField.setEditable(false); speedTextField.setBounds(new Rectangle(170, 50, 35, 20)); turnScroll.setVisibleAmount(5); turnScroll.setMaximum(55); turnScroll.setOrientation(JScrollBar.HORIZONTAL); turnScroll.setMinimum(-50); turnScroll.setBounds(new Rectangle(1, 105, 154, 20)); turnScroll.addAdjustmentListener(this); turnTextField.setHorizontalAlignment(JTextField.CENTER); turnTextField.setText("0"); turnTextField.setEditable(false); turnTextField.setBounds(new Rectangle(170, 105, 35, 20)); headingLabel.setForeground(Color.black); headingLabel.setText("Heading"); headingLabel.setBounds(new Rectangle(163, 22, 51, 17)); speedLabel.setForeground(Color.black); speedLabel.setText("Speed"); speedLabel.setBounds(new Rectangle(169, 71, 38, 18)); turnRateLabel.setForeground(Color.black); turnRateLabel.setText("Turn Rate"); turnRateLabel.setBounds(new Rectangle(159, 125, 57, 17)); speedControlLabel.setForeground(Color.black); speedControlLabel.setText("Speed Control"); speedControlLabel.setBounds(new Rectangle(37, 71, 83, 15)); turnRateControlLabel.setForeground(Color.black); turnRateControlLabel.setText("Turn Rate Control"); turnRateControlLabel.setBounds(new Rectangle(28, 125, 99, 16)); zeroTurnLabel.setForeground(Color.black); zeroTurnLabel.setText("0"); zeroTurnLabel.setBounds(new Rectangle(77, 90, 10, 14)); plusFiftyTurnLabel.setForeground(Color.black); plusFiftyTurnLabel.setText("+50"); plusFiftyTurnLabel.setBounds(new Rectangle(125, 90, 21, 15)); negFiftyTurnLabel.setForeground(Color.black); negFiftyTurnLabel.setText("-50"); negFiftyTurnLabel.setBounds(new Rectangle(8, 90, 23, 14)); zeroSpeedLabel.setForeground(Color.black); zeroSpeedLabel.setText("0"); zeroSpeedLabel.setBounds(new Rectangle(10, 37, 12, 12)); fiveSpeedLabel.setForeground(Color.black); fiveSpeedLabel.setText("5"); fiveSpeedLabel.setBounds(new Rectangle(70, 34, 18, 16)); tenSpeedLabel.setForeground(Color.black); tenSpeedLabel.setText("10"); tenSpeedLabel.setBounds(new Rectangle(131, 35, 16, 14)); reverseButton.setText("Reverse"); reverseButton.setFont(new Font("SansSerif", 1, 9)); reverseButton.setBounds(new Rectangle(1, 1, 75, 30)); reverseButton.addActionListener(this); forwardButton.setText("Forward"); forwardButton.setFont(new Font("SansSerif", 1, 10)); forwardButton.setBounds(new Rectangle(79, 1, 75, 30)); forwardButton.addActionListener(this); rangeButton.setText("Set Range"); rangeButton.setFont(new Font("SansSerif", 1, 10)); rangeButton.setBounds(new Rectangle(246, 36, 115, 29)); rangeButton.addActionListener(this); azimuthButton.setText("Set Azimuth"); azimuthButton.setFont(new Font("SansSerif", 1, 10)); azimuthButton.setMaximumSize(new Dimension(85, 25)); azimuthButton.setMinimumSize(new Dimension(85, 25)); azimuthButton.setPreferredSize(new Dimension(85, 25)); azimuthButton.setBounds(new Rectangle(245, 114, 115, 30)); azimuthButton.addActionListener(this); rangeTextField.setHorizontalAlignment(JTextField.CENTER); rangeTextField.setText("40"); rangeTextField.setEditable(false); rangeTextField.setBounds(new Rectangle(288, 2, 31, 18)); azimuthTextField.setHorizontalAlignment(JTextField.CENTER); azimuthTextField.setText("30"); azimuthTextField.setEditable(false); azimuthTextField.setBounds(new Rectangle(293, 77, 31, 18)); maxRangeLabel.setForeground(Color.black); maxRangeLabel.setText("Max Range (KM)"); maxRangeLabel.setBounds(new Rectangle(258, 18, 107, 15)); currentAzmuthLabel.setForeground(Color.black); currentAzmuthLabel.setText("Current Azimuth (DEG)"); currentAzmuthLabel.setBounds(new Rectangle(231, 94, 131, 16)); antennaAngleTextField.setHorizontalAlignment(JTextField.CENTER); antennaAngleTextField.setBounds(new Rectangle(25, 2, 34, 20)); antennaAngleTextField.setText("0"); antennaAngleTextField.setEditable(false); antennaAngleLabel.setForeground(Color.black); antennaAngleLabel.setText("Antenna Angle"); antennaAngleLabel.setBounds(new Rectangle(5, 22, 109, 16)); this.setResizable(false); this.setTitle("Antenna Control Panel " + frameTitle); this.setBackground(Color.black); this.setFont(new Font("Courier", 1, 12)); transmitterPduCheckBox.setText(" TransmitterPdu"); transmitterPduCheckBox.setHorizontalAlignment(SwingConstants.CENTER); transmitterPduCheckBox.setBounds(new Rectangle(248, 58, 145, 25)); transmitterPduCheckBox.addItemListener(new AntennaControlPanel_transmitterPduCheckBox_itemAdapter(this)); receiverPduCheckBox.setText(" ReceiverPdu "); receiverPduCheckBox.setHorizontalAlignment(SwingConstants.CENTER); receiverPduCheckBox.setBounds(new Rectangle(249, 91, 147, 25)); receiverPduCheckBox.addItemListener(new AntennaControlPanel_receiverPduCheckBox_itemAdapter(this)); signalPduCheckBox.setText(" SignalPdu "); signalPduCheckBox.setHorizontalAlignment(SwingConstants.CENTER); signalPduCheckBox.setBounds(new Rectangle(248, 120, 150, 25)); signalPduCheckBox.addItemListener(new AntennaControlPanel_signalPduCheckBox_itemAdapter(this)); transmitterButton.setText("Send PDU(s)"); transmitterButton.setBounds(new Rectangle(254, 19, 136, 25)); printButton.setText("Print Plan"); printButton.setBounds(new Rectangle(119, 39, 101, 25)); printButton.addMouseListener(new AntennaControlPanel_printButton_mouseAdapter(this)); this.getContentPane().add(jPanel1, null); jPanel1.add(headingTextField, null); jPanel1.add(speedScroll, null); jPanel1.add(speedTextField, null); jPanel1.add(turnScroll, null); jPanel1.add(turnTextField, null); jPanel1.add(headingLabel, null); jPanel1.add(speedLabel, null); jPanel1.add(turnRateLabel, null); jPanel1.add(speedControlLabel, null); jPanel1.add(turnRateControlLabel, null); jPanel1.add(zeroTurnLabel, null); jPanel1.add(plusFiftyTurnLabel, null); jPanel1.add(negFiftyTurnLabel, null); jPanel1.add(zeroSpeedLabel, null); jPanel1.add(fiveSpeedLabel, null); jPanel1.add(tenSpeedLabel, null); jPanel1.add(reverseButton, null); jPanel1.add(forwardButton, null); jPanel1.add(rangeButton, null); jPanel1.add(azimuthButton, null); jPanel1.add(maxRangeLabel, null); jPanel1.add(currentAzmuthLabel, null); jPanel1.add(rangeTextField, null); jPanel1.add(azimuthTextField, null); this.getContentPane().add(jPanel2, null); this.getContentPane().add(jPanel3, null); jPanel3.add(antennaAngleTextField, null); jPanel3.add(antennaAngleLabel, null); jPanel3.add(turnLeftButton, null); jPanel3.add(lowerAngleButton, null); jPanel3.add(higherAngleButton, null); jPanel3.add(zeroAngleButton, null); jPanel3.add(turnRightButton, null); jPanel3.add(stopRotationButton, null); jPanel3.add(receiverPduCheckBox, null); jPanel3.add(transmitterPduCheckBox, null); jPanel3.add(signalPduCheckBox, null); jPanel3.add(transmitterButton, null); jPanel3.add(newAntennaButton, null); jPanel3.add(printButton, null); } //Overriden so we can exit on System Close // this is for the xbox in the coner of the window protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public void run() //dave { antai = new AntennaActionInterpreter(ipAddr, portNum, timeToLive, siteNum, appNum, myAntenna, rtpHeaderEnabled, this); System.out.println("Site number for new antenna action interperter = " + siteNum); antai.start(); //start antena action interpeter } //============================================================================================= // Implements AdjustmentListener //============================================================================================= public void adjustmentValueChanged(AdjustmentEvent evt){ if (evt.getSource().equals(speedScroll)){ speedPosition = evt.getValue(); // update the current slider position if (reverseState){ Integer temp1 = new Integer( -speedPosition); speedTextField.setText(temp1.toString()); // print new value in the textField System.out.println("Speed = " + temp1); antai.setSpeed((new Float(temp1.intValue())).floatValue()); repaint(); } else { Integer temp1 = new Integer(speedPosition); speedTextField.setText(temp1.toString()); // print new value in the textField System.out.println("Speed = " + temp1); System.out.println("antai in the control panel = " + antai); antai.setSpeed((new Float(temp1.intValue())).floatValue()); repaint(); } // repaint the screen } // end else if // if the heading scroll is the source of the event else if (evt.getSource().equals(turnScroll)){ turnPosition = evt.getValue(); // update the current slider position if (turnPosition < 0){ if (!reverseState){ Integer temp1 = new Integer(turnPosition); turnTextField.setText(temp1.toString()); // print new value in the textField System.out.println("Angle of bank = " + temp1); antai.setTurnAngle((new Float(temp1.intValue())).floatValue()); repaint(); // repaint the screen } // end if else { Integer temp4 = new Integer(-turnPosition); turnTextField.setText(temp4.toString()); // print new value in the textField System.out.println("Angle of bank = " + temp4); antai.setTurnAngle((new Float(temp4.intValue())).floatValue()); repaint(); // repaint the screen } // end else } //end if else if (turnPosition == 0){ Integer temp2 = new Integer(0); turnTextField.setText(temp2.toString()); // print new value in the textField System.out.println("Angle of bank = " + temp2); antai.setTurnAngle((new Float(temp2.intValue())).floatValue()); repaint(); } // end else if else { if (!reverseState){ Integer temp3 = new Integer(turnPosition); turnTextField.setText(temp3.toString()); // print new value in the textField System.out.println("Angle of bank = " + temp3); antai.setTurnAngle((new Float(temp3.intValue())).floatValue()); repaint(); // repaint the screen }//end if else { Integer temp5 = new Integer(-turnPosition); turnTextField.setText(temp5.toString()); // print new value in the textField System.out.println("Angle of bank = " + temp5); antai.setTurnAngle((new Float(temp5.intValue())).floatValue()); repaint(); // repaint the screen } // end else } // end else } // end else if } // end adjustmentValueChanged() //============================================================================================= // Implements ActionListener //============================================================================================= public void actionPerformed(ActionEvent evt){ Object buttonName = evt.getSource(); if (antai.getIsCollided() == false){ if (buttonName.equals(zeroAngleButton)){ turnScroll.setValue(0); turnTextField.setText("0"); speedScroll.setValue(0); speedTextField.setText("0"); antai.reset(); repaint(); } // end if // this should be fixed to read the antenna azmuth has changed else if (buttonName.equals(rangeButton)){ System.out.println("Fire Mhain Button Pressed"); if (mhainAmmo > 0){ mhainAmmo = mhainAmmo - 1; rangeTextField.setText((new Integer(mhainAmmo)).toString()); // antai.sendMhainFirePdu(); // dwl this causes a prblem } } // end else if // this should be fixed to read the antenna ht has changed else if (buttonName.equals(azimuthButton)){ System.out.println("Fire COAX Button Pressed"); if (mgAmmo > 0){ mgAmmo = mgAmmo - 1; azimuthTextField.setText((new Integer(mgAmmo)).toString()); antai.sendFirePdu();} } // end else if else if (buttonName.equals(forwardButton)){ System.out.println("forward Button Pressed"); if (reverseState){ turnScroll.setValue(0); turnTextField.setText("0"); speedScroll.setValue(0); speedTextField.setText("0"); antai.brake(); reverseState = false; forwardState = true; repaint(); } } // end else if else if (buttonName.equals(reverseButton)){ System.out.println("reverse Button Pressed"); if (forwardState){ turnScroll.setValue(0); turnTextField.setText("0"); speedScroll.setValue(0); speedTextField.setText("0"); antai.brake(); reverseState = true; forwardState = false; repaint(); } } // end else if // change the angle of the dish // else if (buttonName.equals(higherAngleButton)){ System.out.println("rhaise Button Pressed"); downGunState = false; if(upGunState){ antai.elevateGun(); upGunState = false; return; } // end if antai.elevateGun(); repaint(); upGunState = true; } // end else if else if (buttonName.equals(lowerAngleButton)){ System.out.println("lower Button Pressed"); upGunState = false; if(downGunState){ antai.depressGun(); downGunState = false; return; } // end if antai.depressGun(); repaint(); downGunState = true; } // end else if else if (buttonName.equals(stopRotationButton)){ System.out.println("Brake Button Pressed"); turnScroll.setValue(0); turnTextField.setText("0"); speedScroll.setValue(0); speedTextField.setText("0"); antai.brake(); repaint(); } // end else if else if (buttonName.equals(turnLeftButton)){ System.out.println("Lt Antenna Button Pressed"); rightAntennaTurnState = false; if(leftAntennaTurnState){ antai.leftTurretTurn(); leftAntennaTurnState = false; repaint(); return; } // end if leftAntennaTurnState = true; antai.leftTurretTurn(); repaint(); } // end else if else if (buttonName.equals(turnRightButton)){ System.out.println("Rt Antenna Button Pressed"); leftAntennaTurnState = false; if(rightAntennaTurnState){ antai.rightTurretTurn(); rightAntennaTurnState = false; repaint(); return; } // end if antai.rightTurretTurn(); repaint(); rightAntennaTurnState = true; } // end else if else if (buttonName.equals(zeroAngleButton)){ reset(); antai.reset(); } //end else if reset else if (buttonName.equals(newAntennaButton)){ antai.selfDestruct(); antai.reset(); antai.stopRun(); antai.setDriving(false); //stop sending pdus this.setVisible(false); dispose(); StartPanel sp = new StartPanel(500,100); sp.setVisible(true); } //end else if restart else { System.out.println("Unknown button pressed"); } // end else }//end iscollided if else { System.out.println("control panel locked due to death"); } //end else } // end actionPerformed() //======================================================================= // Utility Methods //======================================================================= public void reset(){ turnScroll.setValue(0); turnTextField.setText("0"); speedScroll.setValue(0); speedTextField.setText("0"); rangeTextField.setText("40"); mhainAmmo = 40; azimuthTextField.setText("30"); mgAmmo = 30; repaint(); } //end reset public void resetAmmo(){ rangeTextField.setText("40"); mhainAmmo = 40; azimuthTextField.setText("30"); mgAmmo = 30; repaint(); } //end resetAmmo public void updateHeading(double mypsi){ if ( mypsi < 0 ) { headingTextField.setText(new Integer((int)( 360 + (((mypsi * 180) / Math.PI) % 360)) ).toString()); } else { headingTextField.setText(new Integer((int)((mypsi * 180) / Math.PI) % 360 ).toString()); } } public void updateGunElev(double angle){ antennaAngleTextField.setText(new Integer((int) ((angle * 180) / Math.PI)).toString()); } //============================================================================================= // Main //============================================================================================= public static void main(String[] args){ /* //TankControlPanel fsm = new TankControlPanel(860, 170); // public AntennaStartPanel(int wdt, int ht); AntennaControlPanel asm = new AntennaControlPanel("224.2.181.145", 62040, 15, (short)0,(short)1, (short)70, "Antenna", false); asm.show(); */ } // end main void transmitterPduCheckBox_itemStateChanged(ItemEvent e) { System.out.println(" sending transmitterPdu "); transmitter.setTransmitState(new UnsignedByte(3)); transmitter.setInputSource(new UnsignedByte(2)); transmitter.setAntennaLocation(new WorldCoordinate(3,4,5)); transmitter.setRelativeAntennaLocation(new EntityCoordinate(6,7,8)); transmitter.setAntennaPatternType(new UnsignedShort(44)); transmitter.setAntennaPatternLength(new UnsignedShort(10)); transmitter.setFrequency(new UnsignedLong(100.00)); } void receiverPduCheckBox_itemStateChanged(ItemEvent e) { } void signalPduCheckBox_itemStateChanged(ItemEvent e) { } void printButton_mouseClicked(MouseEvent e) { } } // end of the class //============================================================================== // inner class //============================================================================== class AntennaControlPanel_transmitterPduCheckBox_itemAdapter implements java.awt.event.ItemListener { AntennaControlPanel adaptee; AntennaControlPanel_transmitterPduCheckBox_itemAdapter(AntennaControlPanel adaptee) { this.adaptee = adaptee; } public void itemStateChanged(ItemEvent e) { adaptee.transmitterPduCheckBox_itemStateChanged(e); } }// end of the inner class //============================================================================== // inner class //============================================================================== class AntennaControlPanel_receiverPduCheckBox_itemAdapter implements java.awt.event.ItemListener { AntennaControlPanel adaptee; AntennaControlPanel_receiverPduCheckBox_itemAdapter(AntennaControlPanel adaptee) { this.adaptee = adaptee; } public void itemStateChanged(ItemEvent e) { adaptee.receiverPduCheckBox_itemStateChanged(e); } }// end of the inner class //============================================================================== // inner class //============================================================================== class AntennaControlPanel_signalPduCheckBox_itemAdapter implements java.awt.event.ItemListener { AntennaControlPanel adaptee; AntennaControlPanel_signalPduCheckBox_itemAdapter(AntennaControlPanel adaptee) { this.adaptee = adaptee; } public void itemStateChanged(ItemEvent e) { adaptee.signalPduCheckBox_itemStateChanged(e); } }// end of the inner class //============================================================================== // inner class //============================================================================== class AntennaControlPanel_printButton_mouseAdapter extends java.awt.event.MouseAdapter { AntennaControlPanel adaptee; AntennaControlPanel_printButton_mouseAdapter(AntennaControlPanel adaptee) { this.adaptee = adaptee; } public void mouseClicked(MouseEvent e) { adaptee.printButton_mouseClicked(e); } } // end of file //==============================================================================