?? camcontrolpanel.java
字號:
/*
This is a demo of how to use CMUcam and has a handy snap-frame
display. So you can always use this to see what on earth the robot
sees. The buttons are all self-explanatory. Remember to do
initCamera before proceeding, and then ALWAYS do resetCamera and
then you're ready to rock and roll.
*/
import java.awt.*;
public class camControlPanel extends Frame
{
CMUcam myCam;
String is1;
int winx1, winx2, winy1, winy2;
int anchorX, anchorY, multX, multY;
int bestRThresh;
int inputport, inputbaud, inputrmin, inputrmax, inputgmin, inputgmax;
int inputbmin, inputbmax, inputx1, inputy1, inputx2, inputy2;
public camControlPanel()
{
// This code is automatically generated by Visual Cafe when you add
// components to the visual environment. It instantiates and initializes
// the components. To modify the code, only use code syntax that matches
// what Visual Cafe can generate, or Visual Cafe may be unable to back
// parse your Java file into its visual environment.
//{{INIT_CONTROLS
setLayout(null);
setVisible(false);
setSize(insets().left + insets().right + 765,insets().top + insets().bottom + 512);
textField1 = new java.awt.TextField();
textField1.setText("1");
textField1.setBounds(insets().left + 528,insets().top + 336,36,20);
textField1.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField1);
button1 = new java.awt.Button();
button1.setActionCommand("button");
button1.setLabel("initCamera");
button1.setBounds(insets().left + 36,insets().top + 348,86,25);
button1.setBackground(new Color(12632256));
add(button1);
button2 = new java.awt.Button();
button2.setActionCommand("button");
button2.setLabel("getVersion");
button2.setBounds(insets().left + 144,insets().top + 384,86,25);
button2.setBackground(new Color(12632256));
add(button2);
button3 = new java.awt.Button();
button3.setActionCommand("button");
button3.setLabel("trackColor");
button3.setBounds(insets().left + 144,insets().top + 420,84,24);
button3.setBackground(new Color(12632256));
add(button3);
button4 = new java.awt.Button();
button4.setActionCommand("button");
button4.setLabel("getMean");
button4.setBounds(insets().left + 36,insets().top + 420,84,26);
button4.setBackground(new Color(12632256));
add(button4);
button5 = new java.awt.Button();
button5.setActionCommand("button");
button5.setLabel("checkCam");
button5.setBounds(insets().left + 36,insets().top + 384,84,25);
button5.setBackground(new Color(12632256));
add(button5);
label1 = new java.awt.Label("port");
label1.setBounds(insets().left + 504,insets().top + 336,24,25);
label1.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label1);
textField2 = new java.awt.TextField();
textField2.setBounds(insets().left + 456,insets().top + 60,288,28);
add(textField2);
label2 = new java.awt.Label("Response String:");
label2.setBounds(insets().left + 456,insets().top + 36,132,20);
add(label2);
textField3 = new java.awt.TextField();
textField3.setBounds(insets().left + 492,insets().top + 132,42,26);
add(textField3);
textField4 = new java.awt.TextField();
textField4.setBounds(insets().left + 492,insets().top + 168,42,26);
add(textField4);
textField5 = new java.awt.TextField();
textField5.setBounds(insets().left + 492,insets().top + 204,42,26);
add(textField5);
textField6 = new java.awt.TextField();
textField6.setBounds(insets().left + 552,insets().top + 132,42,26);
add(textField6);
textField7 = new java.awt.TextField();
textField7.setBounds(insets().left + 552,insets().top + 168,42,26);
add(textField7);
textField8 = new java.awt.TextField();
textField8.setBounds(insets().left + 552,insets().top + 204,42,26);
add(textField8);
label3 = new java.awt.Label("R/Y");
label3.setBounds(insets().left + 468,insets().top + 132,24,27);
add(label3);
label4 = new java.awt.Label("G/V");
label4.setBounds(insets().left + 468,insets().top + 168,24,27);
add(label4);
label5 = new java.awt.Label("B/U");
label5.setBounds(insets().left + 468,insets().top + 204,24,27);
add(label5);
label6 = new java.awt.Label("mean");
label6.setBounds(insets().left + 496,insets().top + 107,36,27);
add(label6);
label7 = new java.awt.Label("dev");
label7.setBounds(insets().left + 564,insets().top + 108,36,27);
add(label7);
textField9 = new java.awt.TextField();
textField9.setBounds(insets().left + 624,insets().top + 168,42,26);
add(textField9);
textField10 = new java.awt.TextField();
textField10.setBounds(insets().left + 708,insets().top + 168,42,26);
add(textField10);
textField11 = new java.awt.TextField();
textField11.setBounds(insets().left + 666,insets().top + 204,42,26);
add(textField11);
textField12 = new java.awt.TextField();
textField12.setBounds(insets().left + 666,insets().top + 131,42,26);
add(textField12);
textField13 = new java.awt.TextField();
textField13.setBounds(insets().left + 636,insets().top + 252,42,26);
add(textField13);
textField14 = new java.awt.TextField();
textField14.setBounds(insets().left + 696,insets().top + 252,42,26);
add(textField14);
label8 = new java.awt.Label("conf");
label8.setBounds(insets().left + 708,insets().top + 276,36,27);
add(label8);
label9 = new java.awt.Label("pixels");
label9.setBounds(insets().left + 639,insets().top + 276,36,27);
add(label9);
button8 = new java.awt.Button();
button8.setActionCommand("button");
button8.setLabel("setWindow");
button8.setBounds(insets().left + 36,insets().top + 456,86,25);
button8.setBackground(new Color(12632256));
add(button8);
button6 = new java.awt.Button();
button6.setActionCommand("button");
button6.setLabel("resetCamera");
button6.setBounds(insets().left + 144,insets().top + 348,96,24);
button6.setBackground(new Color(12632256));
add(button6);
button10 = new java.awt.Button();
button10.setActionCommand("button");
button10.setLabel("FindRed");
button10.setBounds(insets().left + 144,insets().top + 456,86,25);
button10.setBackground(new Color(12632256));
add(button10);
button11 = new java.awt.Button();
button11.setActionCommand("button");
button11.setLabel("Grab&DumpFrame");
button11.setBounds(insets().left + 468,insets().top + 264,120,29);
button11.setBackground(new Color(12632256));
add(button11);
textField15 = new java.awt.TextField();
textField15.setText("5");
textField15.setBounds(insets().left + 528,insets().top + 360,36,20);
textField15.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField15);
label10 = new java.awt.Label("baud");
label10.setBounds(insets().left + 504,insets().top + 360,24,24);
label10.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label10);
textField16 = new java.awt.TextField();
textField16.setText("1");
textField16.setBounds(insets().left + 528,insets().top + 384,36,20);
textField16.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField16);
label11 = new java.awt.Label("x1");
label11.setBounds(insets().left + 504,insets().top + 384,24,25);
label11.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label11);
textField17 = new java.awt.TextField();
textField17.setText("1");
textField17.setBounds(insets().left + 528,insets().top + 408,36,20);
textField17.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField17);
label12 = new java.awt.Label("y1");
label12.setBounds(insets().left + 504,insets().top + 408,24,25);
label12.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label12);
textField18 = new java.awt.TextField();
textField18.setText("80");
textField18.setBounds(insets().left + 528,insets().top + 432,36,20);
textField18.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField18);
label13 = new java.awt.Label("x2");
label13.setBounds(insets().left + 504,insets().top + 432,24,25);
label13.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label13);
textField19 = new java.awt.TextField();
textField19.setText("143");
textField19.setBounds(insets().left + 528,insets().top + 456,36,20);
textField19.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField19);
label14 = new java.awt.Label("y2");
label14.setBounds(insets().left + 504,insets().top + 456,24,25);
label14.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label14);
textField20 = new java.awt.TextField();
textField20.setText("0");
textField20.setBounds(insets().left + 588,insets().top + 336,36,20);
textField20.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField20);
label15 = new java.awt.Label("rmin");
label15.setBounds(insets().left + 624,insets().top + 336,24,25);
label15.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label15);
textField21 = new java.awt.TextField();
textField21.setText("240");
textField21.setBounds(insets().left + 588,insets().top + 360,36,20);
textField21.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField21);
label16 = new java.awt.Label("rmax");
label16.setBounds(insets().left + 624,insets().top + 360,24,25);
label16.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label16);
textField22 = new java.awt.TextField();
textField22.setText("0");
textField22.setBounds(insets().left + 588,insets().top + 384,36,20);
textField22.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField22);
label17 = new java.awt.Label("gmin");
label17.setBounds(insets().left + 624,insets().top + 384,24,25);
label17.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label17);
textField23 = new java.awt.TextField();
textField23.setText("240");
textField23.setBounds(insets().left + 588,insets().top + 408,36,20);
textField23.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField23);
label18 = new java.awt.Label("gmax");
label18.setBounds(insets().left + 624,insets().top + 408,24,25);
label18.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label18);
textField24 = new java.awt.TextField();
textField24.setText("0");
textField24.setBounds(insets().left + 588,insets().top + 432,36,20);
textField24.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField24);
label19 = new java.awt.Label("bmin");
label19.setBounds(insets().left + 624,insets().top + 432,24,25);
label19.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label19);
textField25 = new java.awt.TextField();
textField25.setText("240");
textField25.setBounds(insets().left + 588,insets().top + 456,36,20);
textField25.setFont(new Font("Dialog", Font.PLAIN, 10));
add(textField25);
label20 = new java.awt.Label("bmax");
label20.setBounds(insets().left + 624,insets().top + 456,24,25);
label20.setFont(new Font("Dialog", Font.PLAIN, 10));
add(label20);
//}}
//{{INIT_MENUS
//}}
//{{REGISTER_LISTENERS
SymWindow aSymWindow = new SymWindow();
this.addWindowListener(aSymWindow);
SymMouse aSymMouse = new SymMouse();
button1.addMouseListener(aSymMouse);
button2.addMouseListener(aSymMouse);
button3.addMouseListener(aSymMouse);
button4.addMouseListener(aSymMouse);
button5.addMouseListener(aSymMouse);
button8.addMouseListener(aSymMouse);
button6.addMouseListener(aSymMouse);
button10.addMouseListener(aSymMouse);
button11.addMouseListener(aSymMouse);
//}}
this.setVisible(true);
myCam = new CMUcam(); // instantiate a new camera //
winx1 = 1; winy1 = 1;
winx2 = 80; winy2 = 143;
anchorX = 40; anchorY=35;
multX=3; multY=2;
// multiplicative factors for drawing image on screen
this.refreshGraphics();
}
public camControlPanel(String title)
{
this();
setTitle(title);
}
public synchronized void show()
{
move(50, 50);
super.show();
}
public void addNotify()
{
// Record the size of the window prior to calling parents addNotify.
Dimension d = getSize();
super.addNotify();
if (fComponentsAdjusted)
return;
// Adjust components according to the insets
setSize(insets().left + insets().right + d.width, insets().top + insets().bottom + d.height);
Component components[] = getComponents();
for (int i = 0; i < components.length; i++)
{
Point p = components[i].getLocation();
p.translate(insets().left, insets().top);
components[i].setLocation(p);
}
fComponentsAdjusted = true;
}
// Used for addNotify check.
boolean fComponentsAdjusted = false;
//{{DECLARE_CONTROLS
java.awt.TextField textField1;
java.awt.Button button1;
java.awt.Button button2;
java.awt.Button button3;
java.awt.Button button4;
java.awt.Button button5;
java.awt.Label label1;
java.awt.TextField textField2;
java.awt.Label label2;
java.awt.TextField textField3;
java.awt.TextField textField4;
java.awt.TextField textField5;
java.awt.TextField textField6;
java.awt.TextField textField7;
java.awt.TextField textField8;
java.awt.Label label3;
java.awt.Label label4;
java.awt.Label label5;
java.awt.Label label6;
java.awt.Label label7;
java.awt.TextField textField9;
java.awt.TextField textField10;
java.awt.TextField textField11;
java.awt.TextField textField12;
java.awt.TextField textField13;
java.awt.TextField textField14;
java.awt.Label label8;
java.awt.Label label9;
java.awt.Button button8;
java.awt.Button button6;
java.awt.Button button10;
java.awt.Button button11;
java.awt.TextField textField15;
java.awt.Label label10;
java.awt.TextField textField16;
java.awt.Label label11;
java.awt.TextField textField17;
java.awt.Label label12;
java.awt.TextField textField18;
java.awt.Label label13;
java.awt.TextField textField19;
java.awt.Label label14;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -