First of all, I'm new to programmming and Java. This code is a mess and i could use some feedback.
This program, whenWhen you press CTRLCTRL you activate the "Register""Register" mode. In this mode, when you click, the program stores the X and Y of the mousethe program stores the X and Y of the mouse. To turn it off, you press CTRLCTRL again. When you turn Register"Register" mode off, a message option box pops up asking "Perform actions?". If you respond YES"YES", the program will click on the registered coordinates.
Code:I'm new to programming and Java. This code is a mess and I could use some feedback.
public class Gui extends JFrame {
private JPanel mousePanel;
private JLabel statusBar;
private JLabel keyBar;
public boolean ctrl;
List<Integer> xList = new ArrayList<Integer>();
List<Integer> yList = new ArrayList<Integer>();
public int[] x;
public int[] y;
public Gui() {
super("Program");
mousePanel = new JPanel();
mousePanel.setBackground(Color.WHITE);
add(mousePanel, BorderLayout.CENTER);
statusBar = new JLabel("No events");
keyBar = new JLabel("No key events");
add(keyBar, BorderLayout.NORTH);;
add(statusBar, BorderLayout.SOUTH);
HandlerClass handler = new HandlerClass();
mousePanel.addMouseListener(handler);
mousePanel.addMouseMotionListener(handler);
this.addKeyListener(handler);
}
public void Click(int x, int y) throws AWTException {
Robot bot = new Robot();
bot.mouseMove(x, y);
bot.mousePress(InputEvent.BUTTON1_MASK);
bot.mouseRelease(InputEvent.BUTTON1_MASK);
}
private class HandlerClass implements MouseListener, MouseMotionListener, KeyListener {mousePanel;
//Mouse Listener
public void mouseClicked(MouseEvent event) {
statusBar.setText(String.format("Clicked at %d, %d", event.getX(), event.getY()));
if(ctrl) {
xList.add(MouseInfo.getPointerInfo().getLocation().x);
private JLabel yList.add(MouseInfo.getPointerInfo().getLocation().y);statusBar;
}
private JLabel }keyBar;
public void mousePressed(MouseEvent event) {
statusBar.setText(String.format("You are pressing the mouse at %d, %d", event.getX(), event.getY()));
boolean }ctrl;
publicList<Integer> voidxList mouseReleased(MouseEvent= event)new {ArrayList<Integer>();
statusBar.setText(String.format("Released atList<Integer> %d,yList %d",= event.getX(),new event.getYArrayList<Integer>()));
}
public void mouseEntered(MouseEvent event) {
statusBar.setText(String.format("Mouse entered at %d, %d", event.getX(),int[] event.getY()));x;
mousePanel.setBackground(Color.RED);
public int[] }y;
public void mouseExitedGui(MouseEvent event) {
statusBar.setText(String.formatsuper("Mouse"Program");
exited at %d, %d", event.getX(), event.getY mousePanel = new JPanel()));
mousePanel.setBackground(Color.WHITE);
}
add(mousePanel, BorderLayout.CENTER);
//Mouse Motion statusBar = new JLabel("No events");
public void mouseDragged keyBar = new JLabel(MouseEvent"No eventkey events");
{ add(keyBar, BorderLayout.NORTH);;
add(statusBar, BorderLayout.setTextSOUTH);
HandlerClass handler = new HandlerClass(String);
mousePanel.formataddMouseListener("Dragginghandler);
mouse at %d, %d", event mousePanel.getXaddMouseMotionListener(handler),;
event this.getYaddKeyListener())handler);
}
public void mouseMovedClick(MouseEventint eventx, int y) throws AWTException {
statusBar.setTextRobot bot = new Robot(String);
bot.formatmouseMove("Movingx, mousey);
at %d, %d", event bot.getXmousePress(InputEvent.BUTTON1_MASK),;
event bot.getYmouseRelease())InputEvent.BUTTON1_MASK);
}
private class HandlerClass implements MouseListener, MouseMotionListener, KeyListener {
//KeyMouse Listener
public void keyPressedmouseClicked(KeyEventMouseEvent eevent) {
if statusBar.setText(eString.getKeyCodeformat()"Clicked ==at e%d, %d", event.VK_CONTROLgetX(), &&event.getY()));
! if(ctrl)) {
keyBar xList.setTextadd("CTRL ON"MouseInfo.getPointerInfo().getLocation().x);
ctrl = true; yList.add(MouseInfo.getPointerInfo().getLocation().y);
}
}
public void mousePressed(MouseEvent event) {
statusBar.setText(String.format("You are pressing the mouse at %d, %d", event.getX(), event.getY()));
}
public void mouseReleased(MouseEvent event) {
statusBar.setText(String.format("Released at %d, %d", event.getX(), event.getY()));
}
public void mouseEntered(MouseEvent event) {
statusBar.setText(String.format("Mouse entered at %d, %d", event.getX(), event.getY()));
mousePanel.setBackground(Color.RED);
}
public void mouseExited(MouseEvent event) {
statusBar.setText(String.format("Mouse exited at %d, %d", event.getX(), event.getY()));
mousePanel.setBackground(Color.WHITE);
}
//Mouse Motion
public void mouseDragged(MouseEvent event) {
statusBar.setText(String.format("Dragging mouse at %d, %d", event.getX(), event.getY()));
}
public void mouseMoved(MouseEvent event) {
statusBar.setText(String.format("Moving mouse at %d, %d", event.getX(), event.getY()));
}
//Key Listener
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == e.VK_CONTROL && !(ctrl)){
keyBar.setText("CTRL ON");
ctrl = true;
}
else if(e.getKeyCode() == e.VK_CONTROL && ctrl) {
keyBar.setText("CTRL OFF");
ctrl = false;
if(JOptionPane.showOptionDialog(null, "Perform actions?", "", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null, null, null) == JOptionPane.YES_OPTION) {
int index = 0;
for(int actionX : xList) {
try {
Click(actionX, yList.get(index));
} catch (AWTException e1) {
e1.printStackTrace();
}
index++;
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}
}
public void keyReleased(KeyEvent e) {
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
}
}
}