Problem: Help the Turtle This Program will be is used to control the robot (turt
ID: 3859569 • Letter: P
Question
Explanation / Answer
Answer:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Robot02{
Robot robot;
Robot02Slave slave = new Robot02Slave();
int keyInput[] = {
KeyEvent.VK_D,
KeyEvent.VK_O,
KeyEvent.VK_N,
KeyEvent.VK_E
};//end keyInput array
public static void main(String args[]){
System.out.println("Start test program");
new Robot02();
System.out.println(" End test program");
}
public Robot02(){
try{
robot = new Robot();
}catch(AWTException e){
e.printStackTrace();
}
while(!(slave.isShowing())){
}
Component[] components =
slave.getContentPane().getComponents();
System.out.println(" Traverse forward");
for(int cnt = 0;
cnt < (components.length - 1); cnt++){
robot.keyPress(KeyEvent.VK_TAB);
robot.delay(1000);
}
System.out.println(" Traverse backwards");
robot.keyPress(KeyEvent.VK_SHIFT);
for(int cnt = 0;
cnt < (components.length - 1); cnt++){
robot.keyPress(KeyEvent.VK_TAB);
robot.delay(1000);
}
robot.keyRelease(KeyEvent.VK_SHIFT);
System.out.println(" Click all components");
for(int cnt = 0; cnt < components.length;
cnt++){
Point location =
components[cnt].getLocationOnScreen();
System.out.print("Click at: " +
location.x + ", " + location.y + " ");
mouseMoveAndClick(location.x,location.y);
if(components[cnt] instanceof JTextField
&& components[cnt].hasFocus()){
System.out.println(" Enter text");
robot.keyPress(KeyEvent.VK_SHIFT);
for (int cnt2 = 0;
cnt2 < keyInput.length; cnt2++){
if(cnt2 > 0){
robot.keyRelease(KeyEvent.VK_SHIFT);
}
robot.keyPress(keyInput[cnt2]);
robot.delay(1000);
}
robot.keyPress(KeyEvent.VK_ENTER);
}
}
}
public void mouseMoveAndClick(
int xLoc, int yLoc){
robot.mouseMove( xLoc,yLoc );
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(1000);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.