FlashControlDebugger.java

00001 package edu.stanford.hci.r3.flash.timelineControl;
00002 
00003 import java.awt.BorderLayout;
00004 import java.awt.Component;
00005 import java.awt.event.ActionEvent;
00006 import java.awt.event.ActionListener;
00007 
00008 import javax.swing.*;
00009 
00010 import edu.stanford.hci.r3.PaperToolkit;
00011 import edu.stanford.hci.r3.util.WindowUtils;
00012 import edu.stanford.hci.r3.util.components.SuperJTextField;
00013 
00034 public class FlashControlDebugger {
00035 
00039         public static void main(String[] args) {
00040                 new FlashControlDebugger();
00041         }
00042 
00046         private JFrame control;
00047 
00051         private JPanel mainPanel;
00052 
00056         private JButton okButton;
00057 
00061         private ActionListener sendActionListener;
00062 
00066         private FlashControlServer server;
00067 
00071         private SuperJTextField textField;
00072 
00076         public FlashControlDebugger() {
00077                 PaperToolkit.initializeLookAndFeel();
00078 
00079                 server = new FlashControlServer();
00080 
00081                 control = new JFrame("Flash UI Controller");
00082                 control.setSize(640, 80);
00083                 control.setLocation(WindowUtils.getWindowOrigin(control, WindowUtils.DESKTOP_CENTER));
00084                 control.add(getMainPanel());
00085                 control.setVisible(true);
00086                 control.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
00087         }
00088 
00092         private Component getMainPanel() {
00093                 if (mainPanel == null) {
00094                         mainPanel = new JPanel();
00095                 }
00096                 mainPanel.setLayout(new BorderLayout());
00097                 mainPanel.add(getTextField(), BorderLayout.CENTER);
00098                 mainPanel.add(getOKButton(), BorderLayout.EAST);
00099                 return mainPanel;
00100         }
00101 
00105         private Component getOKButton() {
00106                 if (okButton == null) {
00107                         okButton = new JButton("Send Command");
00108                         okButton.addActionListener(getSendAction());
00109                 }
00110                 return okButton;
00111         }
00112 
00116         private ActionListener getSendAction() {
00117                 if (sendActionListener == null) {
00118                         sendActionListener = new ActionListener() {
00119                                 public void actionPerformed(ActionEvent e) {
00120                                         server.sendMessage(textField.getText());
00121                                 }
00122                         };
00123                 }
00124                 return sendActionListener;
00125         }
00126 
00130         private Component getTextField() {
00131                 if (textField == null) {
00132                         textField = new SuperJTextField();
00133                         textField.setBorder(BorderFactory.createEmptyBorder(5, 15, 5, 5));
00134                         textField.addActionListener(getSendAction());
00135                 }
00136                 return textField;
00137         }
00138 }

Generated on Sat Apr 14 18:21:34 2007 for R3 Paper Toolkit by  doxygen 1.4.7