El problema es que C.join() no me deja ponerlo, no me da la opción...la opción de isRunning() la tuve que crear yo a mano...
Código PHP:
public boolean isRunning(){
return mRun;
}
Aqui esta la otra parte de código.
Código PHP:
public class AutoClick extends JFrame implements Runnable, EventListener{
static AutoClick AC = null;
static Thread Hilo = null;
Contador C = null;
Thread HiloC = null;
int x,y, lastTime = 3, lastTimeContador=0, random=0;
String s="", j="";
private static final long serialVersionUID = -448017304606349615L;
private JPanel contentPane;
private JTextField CoorXField, CoorYField, TiempoMin, TiempoMax;
private JButton Ejecutar, Parar, Salir;
private JLabel CoorX, CoorY, TiempoHastaClick, TiempoClick, OpAvanzadas, TiempoDeseado, LabelMin, LabelMax;
/**
* Launch the application.
* Guardar las coordenadas x, y en una variable y, cuando llegue el tiempo a 0, comprobar que son iguales para mover
* o no el ratón
*/
public static void main(String[] args) {
AC = new AutoClick();
Hilo = new Thread(AC);
Hilo.start();
}
public AutoClick() {
initComponents();
// Propiedades del JFrame
this.setAlwaysOnTop(true);
this.setVisible(true);
this.setLocation(new Point(600, 280));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(100, 100, 282, 289);
this.setLocationRelativeTo(null);
this.setResizable(false);
// Iniciamos el timer1 -> Captura las coordenadas del ratón
timer1.start();
//Instanciamos un objeto de tipo InputMap
InputMap map = new InputMap();
// Funciones para genera un evento de la tecla enter
map.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), "pressed");
map.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true), "released");
// Le asignamos el evento al siguiente botón
Parar.setInputMap(0, map);
public void Timer3() throws InterruptedException {
try {
timer2.start();
quitarAlways(true);
} finally {}
}
public void quitarAlways(boolean valor){
this.setAlwaysOnTop(valor);
}
private void initComponents() {
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
// Añadirmos los JLabel del entorno gráfico
CoorX = new JLabel();
CoorX.setText("Coordenada X");
CoorX.setBounds(20, 11, 96, 14);
contentPane.add(CoorX);
CoorY = new JLabel();
CoorY.setText("Coordenada Y");
CoorY.setBounds(126, 11, 102, 14);
contentPane.add(CoorY);
TiempoHastaClick= new JLabel();
TiempoHastaClick.setText("Tiempo hasta el siguiente autoclick:");
TiempoHastaClick.setBounds(10, 74, 210, 14);
contentPane.add(TiempoHastaClick);
TiempoClick = new JLabel();
TiempoClick.setText("0");
TiempoClick.setMinimumSize(new Dimension(30, 12));
TiempoClick.setBounds(219, 74, 72, 14);
contentPane.add(TiempoClick);
OpAvanzadas = new JLabel();
OpAvanzadas.setText("Opciones Avanzadas");
OpAvanzadas.setFont(new Font("Tahoma", Font.BOLD, 12));
OpAvanzadas.setBounds(20, 111, 124, 15);
contentPane.add(OpAvanzadas);
TiempoDeseado = new JLabel();
TiempoDeseado.setText("Establecer tiempo deseado en minutos");
TiempoDeseado.setBounds(20, 144, 244, 14);
contentPane.add(TiempoDeseado);
LabelMin = new JLabel();
LabelMin.setText("Tiempo m\u00EDnimo");
LabelMin.setBounds(30, 167, 102, 14);
contentPane.add(LabelMin);
LabelMax = new JLabel();
LabelMax.setText("Tiempo m\u00E1ximo");
LabelMax.setBounds(30, 195, 102, 14);
contentPane.add(LabelMax);
// Añadimos las casillas para introducir texto
CoorXField = new JTextField();
CoorXField.setEditable(false);
CoorXField.setBounds(20, 43, 96, 20);
contentPane.add(CoorXField);
CoorYField = new JTextField();
CoorYField.setEditable(false);
CoorYField.setBounds(126, 43, 102, 20);
contentPane.add(CoorYField);
JSeparator separator = new JSeparator();
separator.setBounds(0, 99, 276, 10);
contentPane.add(separator);
TiempoMin = new JFormattedTextField();
TiempoMin.setBounds(160, 164, 35, 20);
contentPane.add(TiempoMin);
TiempoMax = new JFormattedTextField();
TiempoMax.setBounds(160, 192, 35, 20);
contentPane.add(TiempoMax);
// Añadimos los botones de interacción que podrá usar el usuario
Ejecutar = new JButton();
Ejecutar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
quitarAlways(false);
System.out.println("Running");
// Instancio la clase "Contador" como nuevo hilo para controlar su funcionamiento
C = new Contador() {
private static final long serialVersionUID = -1975397236546297348L;
public void run() {
try {
// Mientras "Contador" esté funcionando, esta clase esta a la espera de que termine
while (C.isRunning()){
System.out.println("dentro");
}
timer2.start();
} catch (Exception e){
e.printStackTrace();
}
}
};
HiloC = new Thread(C);
HiloC.start();
}
});
Ejecutar.setText("Ejecutar");
Ejecutar.setBounds(10, 230, 82, 23);
contentPane.add(Ejecutar);
Parar = new JButton();
Parar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
timer1.stop();
timer2.stop();
}
});
Parar.setText("Stop");
Parar.setBounds(102, 230, 74, 23);
contentPane.add(Parar);
Salir = new JButton();
Salir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
dispose();
System.exit(0);
}
});
Salir.setText("Salir");
Salir.setBounds(189, 230, 75, 23);
contentPane.add(Salir);
}
public void run() {
}
}