Активировать код на нажатие клавиши

382
07 февраля 2017, 19:48

То есть надо сделать так, чтоб вместо ожидания 15 секунд, было ожидание нажатия определенной клавиши. Например я запускаю программу, наживаю допустим ALT или любую другую кнопку, и начинает работать программа.

import java.awt.*;
import java.awt.event.InputEvent;
import java.util.concurrent.TimeUnit;
public class ddd {
    public static void main(String[] args) throws AWTException, InterruptedException
    {
        TimeUnit.SECONDS.sleep(15); // ожидание 10 секунд после начала, чтоб ввести данные

        Color [] colALL = new Color[5]; // создание переменных пикселей
        Robot rC = new Robot();
        Color colUN = rC.getPixelColor(960, 540);
        colALL[1] = rC.getPixelColor(959, 539);
        colALL[2] = rC.getPixelColor(959, 541);
        colALL[3] = rC.getPixelColor(961, 539);
        colALL[4] = rC.getPixelColor(959, 541);
        while (true) // бесконечный цикл
        {
            screenWork(colALL, colUN);
        }
    }
    public static void screenWork(Color[] colALL, Color colUN) throws AWTException, InterruptedException // сравнение цветов
    {
        Robot rR = new Robot();
        if (rR.getPixelColor(959, 539).equals(colALL[1]) && rR.getPixelColor(959, 541).equals(colALL[2]) && rR.getPixelColor(961, 539).equals(colALL[3]) && rR.getPixelColor(959, 541).equals(colALL[4])) // нажатие лкм
        {
        }
        else
        {
            clicker();
            TimeUnit.SECONDS.sleep(60);
        }
    }
    public static void clicker() throws AWTException // функция ЛКМ
    {
        Robot rC = new Robot(); // robotClicker
        rC.mousePress(InputEvent.BUTTON1_MASK);
        rC.mouseRelease(InputEvent.BUTTON1_MASK);
    }
}
Answer 1
public class ddd {
public static void main(String[] args) throws AWTException, InterruptedException
{
    Scanner s = new Scanner(System.in);
    String f = s.nextLine();
    if(f.equals("$") { //если нажат доллар + Enter
    Color [] colALL = new Color[5]; // создание переменных пикселей
........
}
}
READ ALSO
RecyclerView - айтемы, не имеющие позиции

RecyclerView - айтемы, не имеющие позиции

Сделал сетку 10*10 с помощью RecyclerView + GridLayoutManagerВ разметку хочу добавить буквы от А до К над сеткой и цифры от 1 до 10 слева от сетки

469
mysql в java,как получить значение из столбца [требует правки]

mysql в java,как получить значение из столбца [требует правки]

доброго времени суток!есть такая проблема:я хочу присоединится с бд?И получить значения допустим строку,и если можно-посоветуйте книгу для...

454
Как правильно работать с классами, не имеющимися в Android SDK?

Как правильно работать с классами, не имеющимися в Android SDK?

Например мне нужно выдвинуть строку состояния (статусбар)Для этого есть метод expand в классе StatusBarManager

350
Кидает android.os.NetworkOnMainThreadException

Кидает android.os.NetworkOnMainThreadException

Пишу прогу для Android но при переходе на активити Intent in = new Intent(getApplicationContext(), OtzivyActivityclass) Кидает ошибку android

420