daily pastebin goal
14%
SHARE
TWEET

RXTX Interface http://darylrobotproject.wordpress.com/

a guest Oct 1st, 2012 745 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.daryl.ihm;
  2.  
  3. import com.cloudgarden.layout.AnchorConstraint;
  4. import com.cloudgarden.layout.AnchorLayout;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import javax.swing.BorderFactory;
  8. import javax.swing.ComboBoxModel;
  9. import javax.swing.DefaultComboBoxModel;
  10. import javax.swing.JButton;
  11. import javax.swing.JComboBox;
  12. import javax.swing.JLabel;
  13. import javax.swing.JScrollPane;
  14. import javax.swing.JSlider;
  15. import javax.swing.JTextArea;
  16. import javax.swing.JToggleButton;
  17. import javax.swing.WindowConstants;
  18. import javax.swing.event.ChangeEvent;
  19. import javax.swing.event.ChangeListener;
  20. import javax.swing.SwingUtilities;
  21.  
  22.  
  23. /**
  24. * This code was edited or generated using CloudGarden's Jigloo
  25. * SWT/Swing GUI Builder, which is free for non-commercial
  26. * use. If Jigloo is being used commercially (ie, by a corporation,
  27. * company or business for any purpose whatever) then you
  28. * should purchase a license for each developer using Jigloo.
  29. * Please visit www.cloudgarden.com for details.
  30. * Use of Jigloo implies acceptance of these licensing terms.
  31. * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
  32. * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
  33. * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
  34. */
  35. public class Interface extends javax.swing.JFrame {
  36.  
  37.         private static final long serialVersionUID = 1L;
  38.  
  39.         {
  40.                 //Set Look & Feel
  41.                 try {
  42.                         javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
  43.                 } catch(Exception e) {
  44.                         e.printStackTrace();
  45.                 }
  46.         }
  47.  
  48.         //Communicator object
  49.     Communicator communicator = null;
  50.    
  51.         @SuppressWarnings("rawtypes")
  52.         private JComboBox jComboBoxListePort;
  53.         private JButton jButtonConnect;
  54.         private JToggleButton jToggleButtonLed;
  55.         private JLabel jLabelValeurSlider;
  56.         private JTextArea jTextAreaLogInput;
  57.         private JScrollPane jScrollPaneLogInput;
  58.         private JTextArea jTextAreaLogOutput;
  59.         private JScrollPane jScrollPaneLogOutput;
  60.         private JLabel jLabelPotar;
  61.         private JLabel jLabelLed;
  62.         private JSlider jSliderServo;
  63.         private JButton jButtonDisconnect;
  64.         private boolean ledOn = false;
  65.         private JLabel jLabelOutput;
  66.         private JLabel jLabelLogInput;
  67.         private JLabel jLabelServo;
  68.         private JLabel jLabelValeurPotar;
  69.         private JSlider jSliderPotar;
  70.         private int servoValue;
  71.        
  72.  
  73.         /**
  74.         * Auto-generated main method to display this JFrame
  75.         */
  76.         public static void main(String[] args) {
  77.                 SwingUtilities.invokeLater(new Runnable() {
  78.                         public void run() {
  79.                                 Interface inst = new Interface();
  80.                                 inst.setLocationRelativeTo(null);
  81.                                 inst.setVisible(true);
  82.                         }
  83.                 });
  84.         }
  85.        
  86.         public Interface() {
  87.                 super();
  88.                 initGUI();
  89.         }
  90.        
  91.         private void initGUI() {
  92.                 try {
  93.                         setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  94.                         AnchorLayout thisLayout = new AnchorLayout();
  95.                         this.setTitle("Daryl Robot Project");
  96.                         getContentPane().setLayout(thisLayout);
  97.                         {
  98.                                 jTextAreaLogInput = new JTextArea();
  99.                                
  100.                                 jScrollPaneLogInput = new JScrollPane(jTextAreaLogInput);
  101.                                 getContentPane().add(jScrollPaneLogInput, new AnchorConstraint(61, 665, 983, 347, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  102.                                 {
  103.                
  104.                                 }
  105.                                
  106.                                 jTextAreaLogOutput = new JTextArea();
  107.                                
  108.                                 jScrollPaneLogOutput = new JScrollPane(jTextAreaLogOutput);
  109.                                 getContentPane().add(jScrollPaneLogOutput, new AnchorConstraint(61, 990, 983, 675, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  110.                                 jScrollPaneLogOutput.setPreferredSize(new java.awt.Dimension(318, 520));
  111.                                 {
  112.                
  113.                                 }
  114.                         }
  115.                         {
  116.                                 jLabelOutput = new JLabel();
  117.                                 getContentPane().add(jLabelOutput, new AnchorConstraint(29, 739, 52, 680, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  118.                                 jLabelOutput.setText("Output:");
  119.                                 jLabelOutput.setPreferredSize(new java.awt.Dimension(55, 13));
  120.                         }
  121.                         {
  122.                                 jLabelLogInput = new JLabel();
  123.                                 getContentPane().add(jLabelLogInput, new AnchorConstraint(27, 400, 52, 349, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  124.                                 jLabelLogInput.setText("Input:");
  125.                                 jLabelLogInput.setPreferredSize(new java.awt.Dimension(51, 14));
  126.                         }
  127.                         {
  128.                                 jLabelPotar = new JLabel();
  129.                                 getContentPane().add(jLabelPotar, new AnchorConstraint(350, 42, 380, 10, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  130.                                 jLabelPotar.setText("Potar:");
  131.                                 jLabelPotar.setPreferredSize(new java.awt.Dimension(32, 17));
  132.                         }
  133.                         {
  134.                                 jLabelServo = new JLabel();
  135.                                 getContentPane().add(jLabelServo, new AnchorConstraint(190, 43, 217, 9, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  136.                                 jLabelServo.setText("Servo:");
  137.                                 jLabelServo.setPreferredSize(new java.awt.Dimension(34, 15));
  138.                         }
  139.                         {
  140.                                 jLabelValeurSlider = new JLabel();
  141.                                 getContentPane().add(jLabelValeurSlider, new AnchorConstraint(188, 110, 217, 51, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  142.                                 jLabelValeurSlider.setText("0");
  143.                                 jLabelValeurSlider.setPreferredSize(new java.awt.Dimension(60, 16));
  144.                         }
  145.                         {
  146.                                 jLabelLed = new JLabel();
  147.                                 getContentPane().add(jLabelLed, new AnchorConstraint(100, 232, 128, 148, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  148.                                 jLabelLed.setText("OFF");
  149.                                 jLabelLed.setPreferredSize(new java.awt.Dimension(85, 16));
  150.                         }
  151.                         {
  152.                                 jSliderServo = new JSlider();
  153.                                 getContentPane().add(jSliderServo, new AnchorConstraint(238, 326, 265, 6, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  154.                                 jSliderServo.setPreferredSize(new java.awt.Dimension(323, 15));
  155.                                 jSliderServo.setMaximum(180);
  156.                                 jSliderServo.setValue(0);
  157.                                 jSliderServo.setMinorTickSpacing(1);
  158.                                 jSliderServo.setEnabled(false);
  159.                                 jSliderServo.addChangeListener(new ChangeListener() {
  160.                                         public void stateChanged(ChangeEvent evt) {
  161.                                                 jSliderServoStateChanged(evt);
  162.                                         }
  163.                                 });
  164.                         }
  165.                         {
  166.                                 jToggleButtonLed = new JToggleButton();
  167.                                 getContentPane().add(jToggleButtonLed, new AnchorConstraint(98, 137, 133, 12, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  168.                                 jToggleButtonLed.setText("Led");
  169.                                 jToggleButtonLed.setEnabled(false);
  170.                                 jToggleButtonLed.setPreferredSize(new java.awt.Dimension(126, 20));
  171.                                 jToggleButtonLed.addActionListener(new ActionListener() {
  172.                                         public void actionPerformed(ActionEvent evt) {
  173.                                                 jToggleButtonLedAction(evt);
  174.                                         }
  175.                                 });
  176.  
  177.                         }
  178.                         {
  179.                                 jButtonDisconnect = new JButton();
  180.                                 getContentPane().add(jButtonDisconnect, new AnchorConstraint(22, 328, 59, 240, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  181.                                 jButtonDisconnect.setText("Disconnect");
  182.                                 jButtonDisconnect.setEnabled(false);
  183.                                 jButtonDisconnect.setPreferredSize(new java.awt.Dimension(89, 21));
  184.                                 jButtonDisconnect.addActionListener(new ActionListener() {
  185.                                         public void actionPerformed(ActionEvent evt) {
  186.                                                 jButtonDisconnectAction(evt);
  187.                                         }
  188.                                 });
  189.                         }
  190.                         {
  191.                                 jButtonConnect = new JButton();
  192.                                 getContentPane().add(jButtonConnect, new AnchorConstraint(22, 233, 59, 149, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  193.                                 jButtonConnect.setText("Connect");
  194.                                 jButtonConnect.setPreferredSize(new java.awt.Dimension(85, 21));
  195.                                 jButtonConnect.addActionListener(new ActionListener() {
  196.                                         public void actionPerformed(ActionEvent evt) {
  197.                                                 jButtonConnectAction(evt);
  198.                                         }
  199.                                 });
  200.                         }
  201.                         {
  202.                                 ComboBoxModel jComboBoxListePortModel = new DefaultComboBoxModel();
  203.                                 jComboBoxListePort = new JComboBox();
  204.                                 getContentPane().add(jComboBoxListePort, new AnchorConstraint(22, 137, 59, 12, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  205.                                 {
  206.                                         jSliderPotar = new JSlider();
  207.                                         getContentPane().add(jSliderPotar, new AnchorConstraint(398, 325, 424, 6, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  208.                                         jSliderPotar.setValue(0);
  209.                                         jSliderPotar.setMaximum(1023);
  210.                                         jSliderPotar.setPreferredSize(new java.awt.Dimension(322, 15));
  211.                                         jSliderPotar.setMinorTickSpacing(1);
  212.                                         jSliderPotar.setEnabled(false);
  213.  
  214.                                 }
  215.                                 {
  216.                                         jLabelValeurPotar = new JLabel();
  217.                                         getContentPane().add(jLabelValeurPotar, new AnchorConstraint(346, 114, 378, 51, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
  218.                                         jLabelValeurPotar.setText("0");
  219.                                         jLabelValeurPotar.setPreferredSize(new java.awt.Dimension(64, 18));
  220.                                 }
  221.                                 jComboBoxListePort.setModel(jComboBoxListePortModel);
  222.                                 jComboBoxListePort.setPreferredSize(new java.awt.Dimension(126, 21));
  223.                         }
  224.                         pack();
  225.                         this.setSize(1024, 600);
  226.                         communicator = new Communicator(this);
  227.                         communicator.searchForPorts();
  228.                        
  229.                 } catch (Exception e) {
  230.                     //add your error handling code here
  231.                         e.printStackTrace();
  232.                 }
  233.         }
  234.        
  235.         private void jSliderServoStateChanged(ChangeEvent evt) {
  236.  
  237.                 servoValue = jSliderServo.getValue();
  238.                 jLabelValeurSlider.setText(Integer.toString(servoValue));
  239.                 communicator.writeData('S', Integer.toString(servoValue));
  240.                
  241.         }
  242.        
  243.         private void jButtonConnectAction(ActionEvent evt) {
  244.  
  245.                 communicator.connect();
  246.         if (communicator.getConnected() == true)
  247.         {
  248.             if (communicator.initIOStream() == true)
  249.             {
  250.                 communicator.initListener();
  251.                 jButtonConnect.setEnabled(false);
  252.                 jButtonDisconnect.setEnabled(true);
  253.                 jToggleButtonLed.setEnabled(true);
  254.                 jSliderServo.setEnabled(true);
  255.                 jComboBoxListePort.setEnabled(false);
  256.                
  257.             }
  258.         }
  259.                
  260.         }
  261.        
  262.         private void jButtonDisconnectAction(ActionEvent evt) {
  263.  
  264.                 communicator.disconnect();
  265.                 jButtonConnect.setEnabled(true);
  266.                 jButtonDisconnect.setEnabled(false);
  267.                 jToggleButtonLed.setEnabled(false);
  268.         jSliderServo.setEnabled(false);
  269.         jComboBoxListePort.setEnabled(true);
  270.                
  271.         }
  272.        
  273.         private void jToggleButtonLedAction(ActionEvent evt) {
  274.                
  275.                 if (ledOn) {
  276.                        
  277.                         jLabelLed.setText("OFF");
  278.                         ledOn = false;
  279.                         communicator.writeData('L', "0000");
  280.                        
  281.                 } else {
  282.                        
  283.                         jLabelLed.setText("ON");
  284.                         ledOn = true;
  285.                         communicator.writeData('L', "0255");
  286.                        
  287.                 }
  288.  
  289.                
  290.         }
  291.  
  292.         public int getServoValue() {
  293.                 return servoValue;
  294.         }
  295.  
  296.         public JComboBox getjComboBoxListePort() {
  297.                 return jComboBoxListePort;
  298.         }
  299.  
  300.         public JTextArea getjTextAreaLogInput() {
  301.                 return jTextAreaLogInput;
  302.         }
  303.  
  304.         public JTextArea getjTextAreaLogOutput() {
  305.                 return jTextAreaLogOutput;
  306.         }
  307.  
  308.         public JSlider getjSliderPotar() {
  309.                 return jSliderPotar;
  310.         }
  311.  
  312.         public JLabel getjLabelValeurPotar() {
  313.                 return jLabelValeurPotar;
  314.         }
  315.  
  316. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top