| 
					
				 | 
			
			
				@@ -2,9 +2,12 @@ package com.its.cctv.ui; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.intellij.uiDesigner.core.GridConstraints; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.intellij.uiDesigner.core.GridLayoutManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.its.cctv.domain.NET; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.intellij.uiDesigner.core.Spacer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.its.app.utils.ByteUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.its.cctv.entity.TbCctvCtlr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.its.cctv.entity.TbCctvCtlrStts; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.its.cctv.service.CctvCtlrService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.its.cctv.xnettcp.cctv.protocol.CctvReqPtzCtrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.sun.management.OperatingSystemMXBean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.Getter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13,9 +16,16 @@ import javax.swing.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.swing.plaf.FontUIResource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.swing.text.StyleContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.awt.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.awt.event.ActionEvent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.awt.event.ActionListener; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.awt.event.MouseAdapter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.awt.event.MouseEvent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.File; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.lang.management.ManagementFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.nio.ByteBuffer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Locale; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Slf4j 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,15 +49,24 @@ public abstract class SubUI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private JButton btnZoomIn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private JTextField txtName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private JTextField txtNmbr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private JButton button9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnPanTiltLeftUp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnPanLeft; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnPanTiltLeftDown; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnTiltUp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnStop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnTiltDown; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnPanTiltRightUp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnPanRight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnPanTiltRightDown; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JTextField txtPort; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JTextField txtIpAddr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JTextField txtDoor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JTextField txtFan; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JTextField txtHeater; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JTextField txtTemp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JTextField txtState; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JButton btnLogClear; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private JSpinner spSpeed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     protected abstract void actionButtonClicked(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,83 +82,297 @@ public abstract class SubUI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //taLog.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 14)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font d2font = new Font("D2Coding", Font.PLAIN, 14); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font d2font = new Font("D2Coding", Font.PLAIN, 12); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (d2font != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //taLog.setFont(d2font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            taLog.setFont(d2font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //taLog.setText(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SpinnerModel value = new SpinnerNumberModel(30, 0, 63, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        spSpeed.setModel(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnZoomIn.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(0, 0, 1, 0, 0, 0, sped, 0, "Zoom In"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnZoomOut.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(0, 0, 2, 0, 0, 0, sped, 0, "Zoom Out"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnFocusIn.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(0, 0, 0, 1, 0, 0, 0, sped, "Focus Near"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnFocusOut.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(0, 0, 0, 2, 0, 0, 0, sped, "Focus Far"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnStop.addActionListener(new ActionListener() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void actionPerformed(ActionEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanLeft.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(1, 0, 0, 0, sped, 0, 0, 0, "Pan Left"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanRight.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(2, 0, 0, 0, sped, 0, 0, 0, "Pan Right"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltUp.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(0, 1, 0, 0, 0, sped, 0, 0, "Tilt Up"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltDown.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(0, 2, 0, 0, 0, sped, 0, 0, "Tilt Down"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftUp.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(1, 1, 0, 0, sped, sped, 0, 0, "Pan Tilt Left Up"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightUp.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(2, 1, 0, 0, sped, sped, 0, 0, "Pan Tilt Right Up"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftDown.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(1, 2, 0, 0, sped, sped, 0, 0, "Pan Tilt Left Down"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightDown.addMouseListener(new MouseAdapter() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mousePressed(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mousePressed(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int sped = (Integer) spSpeed.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlPtz(2, 2, 0, 0, sped, sped, 0, 0, "Pan Tilt Right Down"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void mouseReleased(MouseEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.mouseReleased(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                controlStop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnLogClear.addActionListener(new ActionListener() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            public void actionPerformed(ActionEvent e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                taLog.setText(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void updateInfo(TbCctvCtlr selObj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.selObj = selObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        txtNmbr.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        txtName.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (selObj != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            txtNmbr.setText(selObj.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            txtName.setText(selObj.getCCTV_NM()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void logging(String txt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date now = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SimpleDateFormat sFormat = new SimpleDateFormat("[MM/dd HH:mm:ss] "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String newLog = sFormat.format(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.append("\n" + newLog + txt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.setCaretPosition(taLog.getDocument().getLength()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 제어기 명령 처리 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void controlController(int type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (selObj == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JOptionPane.showMessageDialog(getRootPanel(), "제어기가 선택되지 않았습니다. 목록을 더블클릭하여 제어기를 선택하세요.", "제어기 선택", JOptionPane.ERROR_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void controlStop() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.selObj == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logging("제어기가 선택되지 않았습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (selObj.getNetState() == NET.CLOSED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JOptionPane.showMessageDialog(getRootPanel(), "제어기가 현재 연결이 되어 있지 않습니다.", "제어기 연결 상태", JOptionPane.ERROR_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CctvReqPtzCtrl pkt = new CctvReqPtzCtrl(this.selObj.getAddress()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.selObj.sendData(sendBuffer, 0, "cctv_StateReq")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logging("STOP Command send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logging("STOP Command send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String message, title; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        switch (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                message = "제어기와의 연결을 종료 하시겠습니까?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                title = "제어기 연결 종료"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                message = "제어기를 리셋 하시겠습니까?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                title = "제어기 리셋"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                message = "제어기를 초기화 하시겠습니까?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                title = "제어기 초기화"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 4: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                message = "제어기의 정지영상 정보를 요청하시겠습니까?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                title = "제어기 정지영상 요청"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public String bytesToBinaryString(Byte b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        StringBuilder builder = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (int i = 0; i < 8; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            builder.append(((0x80 >>> i) & b) == 0 ? '0' : '1'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (JOptionPane.showConfirmDialog(getRootPanel(), message, title, JOptionPane.YES_NO_OPTION) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return builder.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void controlPtz(int pan, int tilt, int zoom, int focus, int panSped, int tiltSped, int zoomSped, int focusSped, String cmd) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.selObj == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logging("제어기가 선택되지 않았습니다."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        boolean result = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        switch (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                result = selObj.channelClose(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                result = selObj.resetHw(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //result = selObj.initialize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            case 4: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                result = selObj.stopImage((byte) 0x01); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   pan, 0: Stop, 1: Left, 2: Right, bit0 ~ bit1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //  tilt, 0: Stop, 1: Up,   2: Down,  bit2 ~ bit3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //  zoom, 0: Stop, 1: In,   2: Out,   bit4 ~ bit5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // focus, 0: Stop, 1: Near, 2: Far,   bit6 ~ bit7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CctvReqPtzCtrl pkt = new CctvReqPtzCtrl(this.selObj.getAddress()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        byte ptz = pkt.setPtzValue((byte) pan, (byte) tilt, (byte) zoom, (byte) focus, (byte) panSped, (byte) tiltSped, (byte) zoomSped, (byte) focusSped); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logging("PTZ Control: " + ByteUtils.byteToBitString(ptz)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ByteBuffer sendBuffer = pkt.getByteBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.selObj.sendData(sendBuffer, 0, "cctv_StateReq")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logging(cmd + " send success."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logging(cmd + " send failed."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JOptionPane.showMessageDialog(getRootPanel(), "명령 전송이 실패 하였습니다.", title, JOptionPane.ERROR_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void updateInfo(TbCctvCtlr selObj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.selObj = selObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtNmbr.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtName.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtState.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtIpAddr.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtPort.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtDoor.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtFan.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtHeater.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtTemp.setText(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (selObj != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtNmbr.setText(selObj.getCCTV_CTLR_ID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtName.setText(selObj.getCCTV_NM()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtIpAddr.setText(selObj.getCCTV_CTLR_IP()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtPort.setText(String.valueOf(selObj.getCCTV_CTLR_PORT())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtState.setText(CtlrSttsTableModel.netStateStr[selObj.getNetState()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TbCctvCtlrStts stts = selObj.getStts(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String door = "-"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String fan = "-"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String heater = "-"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String temper = "-"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ("CMS0".equals(stts.getCMNC_STTS_CD())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (stts.getCBOX_DOOR_STTS_CD().equals("CDS0")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    door = "닫힘"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (stts.getCBOX_DOOR_STTS_CD().equals("CDS1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    door = "열림"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (stts.getFAN_STTS_CD().equals("PAS0")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    fan = "가동"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (stts.getFAN_STTS_CD().equals("PAS1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    fan = "중지"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (stts.getHETR_STTS_CD().equals("HTS0")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    heater = "가동"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (stts.getHETR_STTS_CD().equals("HTS1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    heater = "중지"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                temper = String.valueOf(stts.getCBOX_TMPR()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtDoor.setText(door); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtFan.setText(fan); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtHeater.setText(heater); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            txtTemp.setText(temper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -161,11 +394,11 @@ public abstract class SubUI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rootPanel = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rootPanel.setLayout(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pnlCtlr = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        pnlCtlr.setLayout(new GridLayoutManager(1, 3, new Insets(10, 4, 0, 4), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pnlCtlr.setLayout(new GridLayoutManager(2, 3, new Insets(10, 4, 0, 4), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rootPanel.add(pnlCtlr, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pnlControl = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pnlControl.setLayout(new GridLayoutManager(5, 1, new Insets(0, 0, 0, 2), 1, 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        pnlCtlr.add(pnlControl, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pnlCtlr.add(pnlControl, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         final JPanel panel1 = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         panel1.setLayout(new GridLayoutManager(5, 8, new Insets(0, 0, 0, 0), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pnlControl.add(panel1, new GridConstraints(0, 0, 5, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -175,7 +408,7 @@ public abstract class SubUI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (txtNmbrFont != null) txtNmbr.setFont(txtNmbrFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         txtNmbr.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         txtNmbr.setText("관리번호"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel1.add(txtNmbr, new GridConstraints(0, 3, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtNmbr, new GridConstraints(0, 3, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         txtName = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         txtName.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Font txtNameFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtName.getFont()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -203,20 +436,20 @@ public abstract class SubUI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (label4Font != null) label4.setFont(label4Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         label4.setText("ㅣ도어"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         panel1.add(label4, new GridConstraints(3, 0, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        final JTextField textField1 = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField1.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font textField1Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, textField1.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (textField1Font != null) textField1.setFont(textField1Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField1.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField1.setText("가동/중지"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel1.add(textField1, new GridConstraints(4, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        final JTextField textField2 = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField2.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font textField2Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, textField2.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (textField2Font != null) textField2.setFont(textField2Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField2.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField2.setText("34"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel1.add(textField2, new GridConstraints(4, 7, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtHeater = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtHeater.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font txtHeaterFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtHeater.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (txtHeaterFont != null) txtHeater.setFont(txtHeaterFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtHeater.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtHeater.setText("가동/중지"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtHeater, new GridConstraints(4, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtTemp = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtTemp.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font txtTempFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtTemp.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (txtTempFont != null) txtTemp.setFont(txtTempFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtTemp.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtTemp.setText("34"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtTemp, new GridConstraints(4, 7, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         final JLabel label5 = new JLabel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Font label5Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, label5.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (label5Font != null) label5.setFont(label5Font); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -232,120 +465,172 @@ public abstract class SubUI { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (label7Font != null) label7.setFont(label7Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         label7.setText("ㅣ함체온도"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         panel1.add(label7, new GridConstraints(4, 6, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        final JTextField textField3 = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField3.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font textField3Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, textField3.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (textField3Font != null) textField3.setFont(textField3Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField3.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField3.setText("192.168.113.112"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel1.add(textField3, new GridConstraints(2, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(120, -1), new Dimension(120, -1), new Dimension(120, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        final JTextField textField4 = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField4.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font textField4Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, textField4.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (textField4Font != null) textField4.setFont(textField4Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField4.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField4.setText("3001"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel1.add(textField4, new GridConstraints(2, 5, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        final JTextField textField5 = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField5.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font textField5Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, textField5.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (textField5Font != null) textField5.setFont(textField5Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField5.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField5.setText("열림/닫힘"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel1.add(textField5, new GridConstraints(3, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        final JTextField textField6 = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField6.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font textField6Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, textField6.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (textField6Font != null) textField6.setFont(textField6Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField6.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        textField6.setText("가동/중지"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel1.add(textField6, new GridConstraints(3, 7, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtIpAddr = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtIpAddr.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font txtIpAddrFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtIpAddr.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (txtIpAddrFont != null) txtIpAddr.setFont(txtIpAddrFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtIpAddr.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtIpAddr.setText("192.168.113.112"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtIpAddr, new GridConstraints(2, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtPort = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtPort.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font txtPortFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtPort.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (txtPortFont != null) txtPort.setFont(txtPortFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtPort.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtPort.setText("3001"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtPort, new GridConstraints(2, 5, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtDoor = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtDoor.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font txtDoorFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtDoor.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (txtDoorFont != null) txtDoor.setFont(txtDoorFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtDoor.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtDoor.setText("열림/닫힘"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtDoor, new GridConstraints(3, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtFan = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtFan.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font txtFanFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtFan.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (txtFanFont != null) txtFan.setFont(txtFanFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtFan.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtFan.setText("가동/중지"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtFan, new GridConstraints(3, 7, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtState = new JTextField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtState.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font txtStateFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, txtState.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (txtStateFont != null) txtState.setFont(txtStateFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtState.setHorizontalAlignment(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        txtState.setText("통신"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel1.add(txtState, new GridConstraints(0, 5, 1, 2, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(100, -1), new Dimension(100, -1), new Dimension(100, -1), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         final JPanel panel2 = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel2.setLayout(new GridLayoutManager(4, 1, new Insets(0, 0, 0, 0), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        pnlCtlr.add(panel2, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel2.setLayout(new GridLayoutManager(5, 1, new Insets(0, 0, 0, 0), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pnlCtlr.add(panel2, new GridConstraints(1, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnZoomIn = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Font btnZoomInFont = this.$$$getFont$$$("Malgun Gothic", Font.BOLD, 14, btnZoomIn.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (btnZoomInFont != null) btnZoomIn.setFont(btnZoomInFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnZoomIn.setText("Zoom (+)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel2.add(btnZoomIn, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnZoomIn.setToolTipText("ZOOM In"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel2.add(btnZoomIn, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnZoomOut = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Font btnZoomOutFont = this.$$$getFont$$$("Malgun Gothic", Font.BOLD, 14, btnZoomOut.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (btnZoomOutFont != null) btnZoomOut.setFont(btnZoomOutFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnZoomOut.setText("Zoom (-)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel2.add(btnZoomOut, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnZoomOut.setToolTipText("ZOOM Out"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel2.add(btnZoomOut, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnFocusIn = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Font btnFocusInFont = this.$$$getFont$$$("Malgun Gothic", Font.BOLD, 14, btnFocusIn.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (btnFocusInFont != null) btnFocusIn.setFont(btnFocusInFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnFocusIn.setText("Focus (+)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel2.add(btnFocusIn, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnFocusIn.setToolTipText("FOCUS Near"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel2.add(btnFocusIn, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnFocusOut = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Font btnFocusOutFont = this.$$$getFont$$$("Malgun Gothic", Font.BOLD, 14, btnFocusOut.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (btnFocusOutFont != null) btnFocusOut.setFont(btnFocusOutFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btnFocusOut.setText("Focus (-)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel2.add(btnFocusOut, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnFocusOut.setToolTipText("FOCUS Far"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel2.add(btnFocusOut, new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        spSpeed = new JSpinner(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel2.add(spSpeed, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         final JPanel panel3 = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         panel3.setLayout(new GridLayoutManager(3, 3, new Insets(0, 0, 0, 0), -1, -1, true, true)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        pnlCtlr.add(panel3, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button2 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button2Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button2.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button2Font != null) button2.setFont(button2Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button2.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button2.setText("\uF0E7"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button2, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button3 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button3Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button3.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button3Font != null) button3.setFont(button3Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button3.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button3.setText("\uF0ED"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button3, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button5 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button5Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button5.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button5Font != null) button5.setFont(button5Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button5.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button5.setText("▣"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button5, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button6 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button6Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button6.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button6Font != null) button6.setFont(button6Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button6.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button6.setText("\uF0EA"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button6, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button8 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button8Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button8.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button8Font != null) button8.setFont(button8Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button8.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button8.setText("\uF0E8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button8, new GridConstraints(1, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button9 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button9Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button9.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button9Font != null) button9.setFont(button9Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button9.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button9.setText("\uF0EE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button9, new GridConstraints(2, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button1 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button1Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button1.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button1Font != null) button1.setFont(button1Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button1.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button1.setText("\uF0EB"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button4 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button4Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button4.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button4Font != null) button4.setFont(button4Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button4.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button4.setText("\uF0E9"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button4, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button7 = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Font button7Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, button7.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (button7Font != null) button7.setFont(button7Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button7.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        button7.setText("\uF0EC"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel3.add(button7, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pnlCtlr.add(panel3, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanLeft = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnPanLeftFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnPanLeft.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnPanLeftFont != null) btnPanLeft.setFont(btnPanLeftFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanLeft.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanLeft.setText("◀"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanLeft.setToolTipText("PAN Left"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnPanLeft, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftDown = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnPanTiltLeftDownFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnPanTiltLeftDown.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnPanTiltLeftDownFont != null) btnPanTiltLeftDown.setFont(btnPanTiltLeftDownFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftDown.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftDown.setText("\uF0ED"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftDown.setToolTipText("PAN TILT Left Down"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnPanTiltLeftDown, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnStop = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnStopFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnStop.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnStopFont != null) btnStop.setFont(btnStopFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnStop.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnStop.setText("■"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnStop.setToolTipText("STOP"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnStop, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltDown = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnTiltDownFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnTiltDown.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnTiltDownFont != null) btnTiltDown.setFont(btnTiltDownFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltDown.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltDown.setText("▼"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltDown.setToolTipText("TILT Down"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnTiltDown, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanRight = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnPanRightFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnPanRight.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnPanRightFont != null) btnPanRight.setFont(btnPanRightFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanRight.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanRight.setText("▶"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanRight.setToolTipText("PAN Right"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnPanRight, new GridConstraints(1, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightDown = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnPanTiltRightDownFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnPanTiltRightDown.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnPanTiltRightDownFont != null) btnPanTiltRightDown.setFont(btnPanTiltRightDownFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightDown.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightDown.setText("\uF0EE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightDown.setToolTipText("PAN TILT Left Down"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnPanTiltRightDown, new GridConstraints(2, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftUp = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnPanTiltLeftUpFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnPanTiltLeftUp.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnPanTiltLeftUpFont != null) btnPanTiltLeftUp.setFont(btnPanTiltLeftUpFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftUp.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftUp.setText("\uF0EB"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltLeftUp.setToolTipText("PAN TILT Left Up"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnPanTiltLeftUp, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltUp = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnTiltUpFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnTiltUp.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnTiltUpFont != null) btnTiltUp.setFont(btnTiltUpFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltUp.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltUp.setText("▲"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnTiltUp.setToolTipText("TILT Up"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnTiltUp, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightUp = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnPanTiltRightUpFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 16, btnPanTiltRightUp.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnPanTiltRightUpFont != null) btnPanTiltRightUp.setFont(btnPanTiltRightUpFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightUp.setHorizontalTextPosition(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightUp.setText("\uF0EC"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnPanTiltRightUp.setToolTipText("PAN TILT Right Up"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel3.add(btnPanTiltRightUp, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, new Dimension(50, 50), new Dimension(50, 50), new Dimension(50, 50), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         final JPanel panel4 = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         panel4.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        rootPanel.add(panel4, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(-1, 10), new Dimension(-1, 10), new Dimension(-1, 10), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rootPanel.add(panel4, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(-1, 5), new Dimension(-1, 5), new Dimension(-1, 5), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         final JPanel panel5 = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        panel5.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        rootPanel.add(panel5, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, new Dimension(-1, 10), new Dimension(-1, 10), new Dimension(-1, 10), 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel5.setLayout(new GridLayoutManager(2, 1, new Insets(0, 4, 0, 4), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rootPanel.add(panel5, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, new Dimension(-1, 200), null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        final JPanel panel6 = new JPanel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel6.setLayout(new GridLayoutManager(1, 3, new Insets(2, 0, 0, 2), -1, -1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel5.add(panel6, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        final JLabel label8 = new JLabel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font label8Font = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, label8.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (label8Font != null) label8.setFont(label8Font); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label8.setHorizontalAlignment(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label8.setIcon(new ImageIcon(getClass().getResource("/static/image/logging.png"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label8.setText("제어 로그"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel6.add(label8, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnLogClear = new JButton(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font btnLogClearFont = this.$$$getFont$$$("Malgun Gothic", Font.PLAIN, 12, btnLogClear.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (btnLogClearFont != null) btnLogClear.setFont(btnLogClearFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnLogClear.setHorizontalTextPosition(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        btnLogClear.setText("지우기"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel6.add(btnLogClear, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        final Spacer spacer1 = new Spacer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel6.add(spacer1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        final JScrollPane scrollPane1 = new JScrollPane(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel5.add(scrollPane1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog = new JTextArea(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.setBackground(new Color(-16777216)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.setCaretColor(new Color(-1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.setEditable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Font taLogFont = this.$$$getFont$$$("D2Coding", Font.PLAIN, 14, taLog.getFont()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (taLogFont != null) taLog.setFont(taLogFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.setForeground(new Color(-1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.setMargin(new Insets(4, 4, 4, 4)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        taLog.setText("제어로그"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        scrollPane1.setViewportView(taLog); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 |